第二次作业

第二次作业

作业要求 【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

 

posted @ 2018-11-04 10:22  二零三  阅读(224)  评论(0编辑  收藏  举报