#include
int main()
{
int all,time,hour,minute;
scanf("%d %d",&all,&time);
hour=all/100;
minute=all%100;
hour=(hour*60+minute+time)/60;
minute=(minute+time+hour*60)%60;
all=hour*100+minute;
printf("%04d",all);
return 0;
}
如果要实现下面这个条件,应该怎么修改代码
在起始时间中,当小时为个位数时,没有前导的零,即 5 点 30 分表示为 530
printf("%04d",all);
修改为
printf("%d",all);
参考GPT和自己的思路:
要实现当小时为个位数时,没有前导的零的条件,需要修改 printf 语句中的格式控制符。原来的代码为 "%04d",表示以 4 位数字的形式输出,其中若不足 4 位则用前导的零来填充。要满足题目条件,需要将格式控制符改为 "%d",即不以任何前导符号输出整数。修改后的代码如下:
#include <stdio.h>
int main()
{
int all,time,hour,minute;
scanf("%d %d",&all,&time);
hour=all/100;
minute=all%100;
hour=(hour*60+minute+time)/60;
minute=(minute+time+hour*60)%60;
all=hour*100+minute;
printf("%d",all); // 修改处
return 0;
}
0 点 30 分表示为 030。流逝的分钟数可能超过 60,也可能是负数。
是要实现这个条件,不好意思弄错了