鱼C论坛

 找回密码
 立即注册
查看: 769|回复: 6

小白帖(勿嫌弃啊)

[复制链接]
发表于 2020-7-28 17:19:44 | 显示全部楼层 |阅读模式

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

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

x
我的疑惑是为什么要对i(时间)进行判断,我认为直接执行else以下的语句也可以解决问题啊,进行判断不是多此一举吗?求大佬告知,谢谢!

有时候人们用四位数字表示一个时间,比如1106表示11点零6分。现在,你的程序要根据起始时间和流逝的时间计算出终止时间。读入两个数字,第一个数字以这样的四位数字表示当前时间,第二个数字表示分钟数,计算当前时间经过那么多分钟后是几点,结果也表示为四位数字。当小时为个位数时,没有前导的零,即5点30分表示为530。注意,第二个数字表示的分钟数可能超过60,也可能是负数。
输入格式:
输入在一行中给出2个整数,分别是四位数字表示的起始时间、以及流逝的分钟数,其间以空格分隔。注意:在起始时间中,当小时为个位数时,没有前导的零,即5点30分表示为530;流逝的分钟数可能超过60,也可能是负数。
[输出格式:
输出四位数字表示的终止时间。题目保证起始时间和终止时间在同一天内。
输入样例:
1120 110
输出样例:
1310
代码如下:
#include <stdio.h>
int main()
{
        int i, j, x = 0, y, z;
        scanf("%d%d", &i, &j);
        if(i >= 1000)
        {
               x = i / 1000;
               y = (i % 1000) / 100;
               z = (i %1000) %100;
        }
        else
        {
               y = i / 100;
               z = i % 100;
        }
        int s = (10*x + y) * 60 + z;
        int n = s + j;
        i = n / 60 *100 + (n - ((n / 60 )* 60));
        printf("%d", i);
        return 0;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-7-28 17:23:36 | 显示全部楼层
如果i<1000说明 输入的不是4位数字叭
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-28 17:50:16 | 显示全部楼层
本帖最后由 gfzxy0724 于 2020-7-28 17:51 编辑


好的了解,那么你看我下面的代码可以达到同样的结果吗
         int i, j,  y, z;
             scanf("%d%d", &i, &j);
            y = i / 100;
            z = i % 100;
         int s = y * 60 + z;
         int n = s + j;
            i = n / 60 *100 + (n - ((n / 60 )* 60));
            printf("%d", i);
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-28 21:39:19 | 显示全部楼层
gfzxy0724 发表于 2020-7-28 17:50
好的了解,那么你看我下面的代码可以达到同样的结果吗
         int i, j,  y, z;
             scanf("%d%d ...

这太复杂了,看得我头疼,你问问别人叭
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-29 10:52:54 | 显示全部楼层
rt3 发表于 2020-7-28 21:39
这太复杂了,看得我头疼,你问问别人叭

好的,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-29 16:18:04 | 显示全部楼层
你的看法是对的。该代码多此一举。把小时的十位和个位分开,然后十位乘以10+个数,又把它们合拢,再进行计算。这是神经病的做法。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-7-30 16:59:39 | 显示全部楼层
405794672 发表于 2020-7-29 16:18
你的看法是对的。该代码多此一举。把小时的十位和个位分开,然后十位乘以10+个数,又把它们合拢,再进行计 ...

谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-10 04:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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