这一篇是个小记,真无语了,看见这个题感觉哇塞好简单的感觉,谁知道栽了,烦死了
话不多说,记录一下
C语言
#include<stdio.h>
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一样
C++
除了是刚开始起步,其余的还挺顺利
#include<bits/stdc++.h>
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;
}