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