这一篇是个小记,真无语了,看见这个题感觉哇塞好简单的感觉,谁知道栽了,烦死了
话不多说,记录一下
- #include
- int main()
- {
- int a,b,c;
- long long time;//题上说了10的18次方的正整数,所以咋能用int型啊,喂!
- scanf("%lld",&time);//long long是"%lld",啊!交了四次,还理直气壮?
- time=time/1000%(3600*24);
- //这个地方可以说说,常识都不知道,毫秒到秒是1000,咋会是60呢?
- //而且题要读请人家的时间给的可不是一天的,是累计的,所以你要把时间取一天的余啊!
- //除非你后面计算小时的时候 %24喽
- c=time%60;
- b=time%3600/60;
- a=time/3600;
- printf("%02d:%02d:%02d",a,b,c);
- //笑死了,大二了还不知道"%02d"啥意思,一个入门题硬生生变成难++题
- return 0;
- }
基础没打好哭死 (大一的宝子们一定要好好学习!呜呜呜)
知识点
int 2^31 < 10^9 2^32 <10^9
long long 2^63 < 10^18 2^64 <10^19
时间输出如何表示
1-> %d就是普通的输出
2-> %2d是将数字按宽度为2,采用右对齐方式输出,若数据位数不到2位,则左边补空格
3-> %02d,和%2d差不多,只不过左边补0
4-> %.2d没见过,但从执行效果来看,和%02d一样
除了是刚开始起步,其余的还挺顺利
- #include
- using namespace std;
- int main()
- {
- long long time;
- cin>>time;
- time=time/1000;
- int a=time%60;
- int b=time/60%60;
- int c=time/3600%24;
- printf("%02d:%02d:%02d",c,b,a);
- return 0;
- }