鱼C论坛

 找回密码
 立即注册
查看: 1569|回复: 1

[已解决]经典问题答疑:然后是几点?

[复制链接]
发表于 2021-2-4 10:55:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有时候人们用四位数字表示一个时间,比如 1106 表示 11 点零 6 分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。
读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。

输入格式:
输入在一行中给出 2 个整数,分别是四位数字表示的起始时间、以及流逝的分钟数,其间以空格分隔。注意:在起始时间中,当小时为个位数时,没有前导的零,即 5 点 30 分表示为 530;0 点 30 分表示为 030。流逝的分钟数可能超过 60,也可能是负数。

输出格式:
输出四位数字表示的终止时间,当小时为个位数时,没有前导的零。题目保证起始时间和终止时间在同一天内。

输入样例:
1120 110

输出样例:
1310

我的代码:
#include<stdio.h>

int main()
{
    int time,minute;
        scanf("%d %d",&time,&minute);
   
    int min=time/100*60+time%100+minute;//起始时间换算的分钟数
    int result=min/60*100+min%60;
    printf("%d",result);
       
        return 0;
}

错误:在分钟小于0,输出不满4位且小时是0时,没有输出正确答案
代码要怎么修改才能输出正确结果呢?
最佳答案
2021-2-4 13:43:20
很简单,输出那一句改一下就可以了
printf("%d",result);
//改为
printf("%03d",result);//这样修改,当输出低于三位的时候,前面补充一个0,当输出为三位或者4位的时候,%d之间的03不起作用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-4 13:43:20 | 显示全部楼层    本楼为最佳答案   
很简单,输出那一句改一下就可以了
printf("%d",result);
//改为
printf("%03d",result);//这样修改,当输出低于三位的时候,前面补充一个0,当输出为三位或者4位的时候,%d之间的03不起作用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-14 18:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表