首页 > 其他 > 详细

第二次作业

时间:2018-11-04 12:08:14      阅读:160      评论:0      收藏:0      [点我收藏+]

第二次作业

作业要求 【https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2293】

PTA第三次作业 7-7 计算火车运行时间

#include<stdio.h>
int main(void)
{
    int a,b,c,d;
    scanf("%d %d",&a,&b);
    c=b/100-a/100;
    d=b%100-a%100;
     if(d<0) {
        d=60+d;                
        c=c-1;
    }
    printf("%02d:%02d",c,d);
    return 0;
}

思路:

第一步,定义四个变量(即a,b,c,d)

第二步,输入起始时间与到站时间(即a,b)

第三步,利用除100取整,计算小时数

第四步,利用除100取余计算分钟数

第五步,判断分钟数是否“够大”,不够向前借一位

第六步,输出结果从c,d

 

流程图

技术分享图片

运行结果

技术分享图片

 

出现问题

当起始时间的分钟数小于到站时间分钟数时,会出现负数结果(如下图所示)

技术分享图片

 解决方法

通过if语句判断是否需要借位

技术分享图片

技术分享图片

总结

通过这次作业,发现解决实际问题要注意客观常识,小时分钟没有负数

PTA第四次作业 7-4 比较大小

#include<stdio.h>
int main (void)
{
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    if (a>b)
    {
        if (c>a)
        {
            printf("%d->%d->%d",b,a,c);
        }
        else if (b>c)
        {
            printf("%d->%d->%d",c,b,a);
        }
        else
        {
            printf("%d->%d->%d",b,c,a);
        }
    }
    else
    {
        if (c>b)
        {
            printf("%d->%d->%d",a,b,c);
        }
        else if (a>c)
        {
            printf("%d->%d->%d",c,a,b);
        }
        else
        {
            printf("%d->%d->%d",a,c,b);
        }
    }
}

解题思路:

第一步,定义三个值(a,b,c)输入a,b,c

第二步,判断a,b,c大小关系

第三步,按照由小到大排序输出结果

流程图:

 技术分享图片

运行结果:

技术分享图片

 

 

 技术分享图片

技术分享图片

技术分享图片

作业中遇到的问题:

当输入3 1 3时,数字无法按照由大到小顺序排列

解决方法:

if(a>b)后嵌套if(a>c)(即考虑这种情况)

技术分享图片

 总结与反思

经过这两个星期的练习,我对于编程更加熟练,但是也还存在着许多逻辑错误,还需要多加练习

技术分享图片

点评博客

http://www.cnblogs.com/1a2B3c4D/p/9898534.html

http://www.cnblogs.com/abcefg123/p/9898650.html

http://www.cnblogs.com/moyoujiang/p/9892524.html

 

第二次作业

原文:https://www.cnblogs.com/error203/p/9902049.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!