当前位置:首页 > 编程笔记 > 正文
已解决

蓝桥杯每日一题2023.10.2

来自网友在路上 183883提问 提问时间:2023-10-06 20:59:52阅读次数: 83

最佳答案 问答题库838位专家为你答疑解惑

时间显示 - 蓝桥云课 (lanqiao.cn)

题目描述

 题目分析

输入为毫秒,故我们可以先将毫秒转化为秒,由于只需要输出时分,我们只需要将天数去除即可,可以在这里多训练一次天数判断

#include<bits/stdc++.h>
using namespace std;
int m[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
bool is_ren(int n)
{if((n % 100 != 0 && n % 4 == 0) || n % 400 == 0)return true;return false;
}
int main()
{long long x; cin >> x;x /= 1000;//一天有24 * 60 * 60 = 86400 秒 bool flag = 0;for(int i = 1970; ; i ++){if(is_ren(i))m[2] = 29;else m[2] = 28;for(int j = 1; j <= 12; j ++){for(int k = 1; k <= m[j]; k ++){if(x >= 86400){k ++;x -= 86400;	} else{flag = 1;break;}}if(flag)break;}if(flag)break;}int a = x / 3600;int b = x % 3600 / 60;int c = x % 60;printf("%02d:%02d:%02d", a, b, c);return 0;
}

 但显然没必要,可以这样

#include<bits/stdc++.h>
using namespace std;
int main()
{long long x; cin >> x;x /= 1000;//一天有24 * 60 * 60 = 86400 秒 while(x >= 86400)x -= 86400;int a = x / 3600;int b = x % 3600 / 60;int c = x % 60;printf("%02d:%02d:%02d", a, b, c);return 0;
}
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"蓝桥杯每日一题2023.10.2":http://eshow365.cn/6-16473-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!