2621079457 发表于 2021-7-14 10:47:45

新手求助

这是原题
然后是几点 (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;
}








青出于蓝 发表于 2021-7-14 11:11:55

这是NoI题库的题吗...

2621079457 发表于 2021-7-14 13:03:06

青出于蓝 发表于 2021-7-14 11:11
这是NoI题库的题吗...

慕课里面翁恺老师的习题集

人造人 发表于 2021-7-14 14:10:28

这是我写的,最后的输出使用了不一样的 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;
}

2621079457 发表于 2021-7-18 21:40:58

人造人 发表于 2021-7-14 14:10
这是我写的,最后的输出使用了不一样的 printf
你试试输入 020 10,我的输出是 030

我试一下

2621079457 发表于 2021-7-18 21:44:34

人造人 发表于 2021-7-14 14:10
这是我写的,最后的输出使用了不一样的 printf
你试试输入 020 10,我的输出是 030

诶我是30诶不是030,哪里出错了啊?

人造人 发表于 2021-7-18 21:49:35

2621079457 发表于 2021-7-18 21:44
诶我是30诶不是030,哪里出错了啊?

printf("%d",result);

人造人 发表于 2021-7-18 21:50:09

2621079457 发表于 2021-7-18 21:44
诶我是30诶不是030,哪里出错了啊?

printf("%d",result);
这个怎么输出 030 ?

2621079457 发表于 2021-7-19 17:07:17

人造人 发表于 2021-7-18 21:50
printf("%d",result);
这个怎么输出 030 ?

明白了,谢谢!
页: [1]
查看完整版本: 新手求助