新手求助
这是原题然后是几点 (15分)
有时候人们用四位数字表示一个时间,比如 1106 表示 11 点零 6 分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。
读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,例如 5 点 30 分表示为 530;0 点 30 分表示为 030。注意,第二个数字表示的分钟数可能超过 60,也可能是负数。
输入格式:
输入在一行中给出 2 个整数,分别是四位数字表示的起始时间、以及流逝的分钟数,其间以空格分隔。注意:在起始时间中,当小时为个位数时,没有前导的零,即 5 点 30 分表示为 530;0 点 30 分表示为 030。流逝的分钟数可能超过 60,也可能是负数。
输出格式:
输出四位数字表示的终止时间,当小时为个位数时,没有前导的零。题目保证起始时间和终止时间在同一天内。
输入样例:
1120 110
输出样例:
1310
第三个测试点错误(分钟小于0,输出不满4位且小时是0)
这是我的答案(这个时候还没学到if语句所以想请问一下是哪里有问题
#include<stdio.h>
int main()
{
int time;
int num;
scanf("%d %d",&time,&num);
int hour1=time/100;
int minute1=time%100;
int minute2=hour1*60+minute1+num;
int houra=minute2/60;
int minutea=minute2%60;
int result=houra*100+minutea;
printf("%d",result);
return 0;
}
这是NoI题库的题吗... 青出于蓝 发表于 2021-7-14 11:11
这是NoI题库的题吗...
慕课里面翁恺老师的习题集 这是我写的,最后的输出使用了不一样的 printf
你试试输入 020 10,我的输出是 030
#include <stdio.h>
int main(void) {
int a, b, c;
scanf("%d%d", &a, &b);
c = (a / 100) * 60 + (a % 100);
c += b;
printf("%d%d\n", c / 60, c % 60);
return 0;
}
人造人 发表于 2021-7-14 14:10
这是我写的,最后的输出使用了不一样的 printf
你试试输入 020 10,我的输出是 030
我试一下 人造人 发表于 2021-7-14 14:10
这是我写的,最后的输出使用了不一样的 printf
你试试输入 020 10,我的输出是 030
诶我是30诶不是030,哪里出错了啊? 2621079457 发表于 2021-7-18 21:44
诶我是30诶不是030,哪里出错了啊?
printf("%d",result); 2621079457 发表于 2021-7-18 21:44
诶我是30诶不是030,哪里出错了啊?
printf("%d",result);
这个怎么输出 030 ?
人造人 发表于 2021-7-18 21:50
printf("%d",result);
这个怎么输出 030 ?
明白了,谢谢!
页:
[1]