蓝桥杯 c/c++ B组 时间显示
这道题比较简单,直接暴力搞,不管了,其中数字转字符+48 就好了,int(‘0’)的值是 48;
#include <iostream>
using namespace std;
// 1618708103123
// 46800999
int main(){
long long time;
cin >> time;
long long day = 24*60*60*1000;
if(time > day ){
time %= day;
}
int hour = 60*60*1000;
int minute = 60*1000;
int second = 1000;
char HH[2] ={'0','0'} ;
char MM[2] ={'0','0'} ;
char SS[2] ={'0','0'} ;
long long H = time / hour;
long long M = (time - H*hour) / minute;
long long S = (time - H*hour - M*minute) / second;
if(H<10){
HH[1] = 48 + H;
}else{
HH[0] = H/10 +48;
HH[1] = H%10 +48;
}
if(M<10){
MM[1] = 48 + M;
}else{
MM[0] = M/10 +48;
MM[1] = M%10 +48;
}
if(S<10){
SS[1] = 48 + S;
}else{
SS[0] = S/10 + 48;
SS[1] = S%10 + 48;
}
cout << HH[0] <<HH[1]<<':'<< MM[0] <<MM[1]<<':'<< SS[0] <<SS[1]<< endl;
return 0;
}