洛谷P5707 【深基2.例12】上学迟到(C语言)
2023-12-30 19:29:37
?思路:
先计算的走路时间加上垃圾分类时间
int a = s / v + 10;
然后这道题的第1个坑来了,如果路程和时间不能整除的话,需要加一分钟,因为多出的那几秒也算,所以这边要加一个判定。
if (s % v != 0)
a++;
接下来就是计算小时和分钟
h = a / 60;
m = a % 60;
然后这道题的第2个坑来了,题目说提前的时间不会超过一天而且要用24小时的形式输出,因为上午8点必须到达,所以我们这边需要添加两个判定,一判定h有没有超过8个小时,二判定m有没有超过50分钟
if (h >= 8) {
if (m > 50)
printf("%d:0%d", 24 - h + 8 - 1, 60 - m);
else
printf("%d:%d", 24 - h + 8 - 1, 60 - m);
}
else {
if (m > 50)
printf("0%d:0%d", 8 - h - 1, 60 - m);
else
printf("0%d:%d", 8 - h - 1, 60 - m);
}
完整代码:
#include<stdio.h>
int main()
{
int s, v, h=0, m=0;
scanf("%d %d", &s, &v);
int a = s / v + 10;
if (s % v != 0)
a++;
h = a / 60;
m = a % 60;
if (h >= 8) {
if (m > 50)
printf("%d:0%d", 24 - h + 8 - 1, 60 - m);
else
printf("%d:%d", 24 - h + 8 - 1, 60 - m);
}
else {
if (m > 50)
printf("0%d:0%d", 8 - h - 1, 60 - m);
else
printf("0%d:%d", 8 - h - 1, 60 - m);
}
return 0;
}
如果拿走,请在评论区打个1。
如果有更优的代码,请在评论区私信发给我谢谢!
文章来源:https://blog.csdn.net/2301_80267323/article/details/135295995
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!