编写程序,输入某一时刻的时间,加一秒后输出新的时间,时间以时,分,秒表示

编写程序,输入某一时刻的时间,加一秒后输出新的时间,时间以时,分,秒表示,第1张

时间24 小时 进位 到 0。

输出格式简单地用 %02d 就可以了。

#include <stdio.h>

struct TIME{

int shi

int fen

int miao

}

int main()

{

struct TIME time

scanf("%d%d%d",&time.shi,&time.fen,&time.miao)

if(++time.miao>=60) {

time.miao=time.miao%60

time.fen++

}

if(time.fen>=60)

{

time.fen=time.fen%60

time.shi++

}

if(time.shi>=24)

{

time.shi=time.shi%24

}

printf("%02d:%02d:%02d",time.shi,time.fen,time.miao)

return 0

}

#include<stdio.h>

#include<algorithm>

using namespace std

struct time//结构体对时间进行排序

{

int x

int y

}t[10001]

bool cmp(const time &a,const time &b)

{

return a.y>b.y

}

int main()

{

//freopen("in.txt","r",stdin)

int T,n,i,j,flag

scanf("%d",&T)

while(T--)

{

int book[10001]={}

long long sum=0

scanf("%d",&n)

for(i=0i<ni++)

{

scanf("%d%d",&t[i].x,&t[i].y)

}

sort(t,t+n,cmp)

for(i=0i<ni++){

for(j=t[i].xj>=1j--)//时间长的优先考虑,并以较长j截止时间作为任务j到1

{

flag=0

if(!book[j])

{

flag=1

book[j]=1

break

}

}

if(!flag)

sum+=t[i].y

}

printf("%lld\n",sum)

}

return 0

}

【基本题】定义一个时间类,提供设定时间、显示时间和秒数增加1的功能,其中设定时间的方法需要校验数据的正确性,

并在main函数中验证。

*/

#include<iostream>

using namespace std

class Clock

{

public:

void settime(int h,int m,int s)

void showtime()

void add()

Clock(int h=0,int m=0,int s=0)

Clock(const Clock &c)

private:

int hour

int minute

int second

int state

}

Clock::Clock(int h,int m,int s):hour(h),minute(m),second(s),state(0)

{

}

Clock::Clock(const Clock &c):hour(c.hour),minute(c.minute),second(c.second)

{

}

void Clock::settime(int h,int m,int s)

{

this->hour=h

this->minute=m

this->second=s

if(h>0&&h<24)

{

state=state|0x4 

}

if(m>0&&m<60)

{

state=state|0x2

}

if(s>0&&s<60)

{

state=state|0x1

}

}

void Clock::add()

{

if(this->hour==24)

{

this->hour++

this->hour=0

}

if(this->minute==60)

{

this->minute++

this->minute=0

}

if(this->second==60)

{

this->second++

this->second=0

}

}

void Clock::showtime()

{

if((state&0x4)==0)

{

cout<<"小时错了"<<endl

}

if((state&0x2)==0)

{

cout<<"分钟错了"<<endl

}

if((state&0x1)==0)

{

cout<<"秒错了"<<endl

}

cout<<this->hour<<":"<<this->minute<<":"<<this->second<<endl

}

void main()

{

Clock clock

clock.settime(21,78,90)

clock.showtime()

}

扩展资料

Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix 系统、类Unix系统中,也在许多其他 *** 作系统中被广告采用。

目前相当一部分 *** 作系统使用32位二进制数字表示时间。此类系统的Unix时间戳最多可以使用到格林威治时间2038年01月19日03时14分07秒(二进制:01111111 11111111 11111111 11111111)。

其后一秒,二进制数字会变为10000000 00000000 00000000 00000000,发生溢出错误,造成系统将时间误解为1901年12月13日20时45分52秒。这很可能会引起软件故障,甚至是系统瘫痪。使用64位二进制数字表示时间的系统(最多可以使用到格林威治时间292,277,026,596年12月04日15时30分08秒)则基本不会遇到这类溢出问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7783109.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存