作业要求:
https://edu.cnblogs.com/campus/hljkj/CS201802/homework/2292
第三次作业:7-7 计算火车运行时间
#include <stdio.h> int main() { int x,y,a,b; scanf("%d %d",&x,&y); a=y/100-x/100; b=y%100-x%100; if(b<0){ a=a-1; b=b+60; printf("%02d:%02d",a,b); } else{printf("%02d:%02d",a,b);} return 0; }
第一步:输入出发的时间和到达时间。
第二步:把小时数和分钟数分开计算。
第三步:考虑到分钟数可能为负数,应分情况讨论,在分钟数为负数时输出前小时数退一位。
第四步:按两位整数形式输出。
第一次时出现的错误:
答案错误
调试信息:
结论:未确保结果为两位数
解决方案:将改正为。
第四次作业:7-4 比较大小
#include <stdio.h> int main() { double a,b,c; scanf("%lf %lf %lf",&a,&b,&c); if(a>b&&b>c){ printf("%.0lf->%.0lf->%.0lf",c,b,a);} else{ if(b>a&&a>c){ printf("%.0lf->%.0lf->%.0lf",c,a,b); }else{ if(c>a&&a>b){ printf("%.0lf->%.0lf->%.0lf",b,a,c); }else{ if(a>c&&c>b){ printf("%.0lf->%.0lf->%.0lf",b,c,a);} else{ if(c>b&&b>a){ printf("%.0lf->%.0lf->%.0lf",a,b,c);} else{ printf("%.0lf->%.0lf->%.0lf",a,c,b);}}}}} return 0; }
第一步:输入要排列的三个数。
第二步:分情况比较大小。
出现过的问题:答案错误
调试过程:
分析原因:最后的else与其他if并列导致结果错误
改正方式:将每个if后插入一个对应的else。
总结
通过这几周的学习,我发现关于C语言最为重要的还是细心,由于不够细心,忽略细节,极有可能因小失大。
在输入代码时,我们应在输入每行代码后仔细检查,避免以外的发生。
http://www.cnblogs.com/mashihao/p/9912314.html