作业要求:【https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2293】
第三次作业:7-7计算火车运行时间
#include<stdio.h> int main() { int a,b,c,d; scanf("%d %d",&a,&b); if(a%100>b%100){ c=b/100-1-a/100; d=b%100+60-a%100; } else{ c=b/100-a/100; d=b%100-a%100; } printf("%02d:%02d",c,d); return 0; }
解题思路
第一步:定义四个变量a,b,c,d。
第二步:输入a和b的值,a表示出发时间,b表示到达时间。
第三步:用else-if语句区分d为负数的情况,若d<0,则向前借一位。
第四步:输出c和d的值,程序结束。
流程图
运行结果
出现问题
当我运行c为个位数时,数字前面没补零。
解决方法
事后我通过百度和询问同学,才知道c语言要补零,需要在输出时输入"%02d",又学到一个新知识。
总结
通过这次作业,我发现在程序编写上我还有很多不足,还有很多知识盲点,以后我一定会勤奋学习,谦虚请教,努力弥补自己知识上的误区。
第四次作业:7-2高速公路超速处罚
#include<stdio.h> int main() { double a,b,x; scanf("%lf %lf",&a,&b); if((a-b)*10>=b){ x=(a-b)/b*100; if(x<50&&x>=10){ printf("Exceed %.0f%%. Ticket 200",x); } else{ printf("Exceed %.0f%%. License Revoked",x); } } else{ printf("OK"); } return 0; }
第一步:定义变量a,b,x。
第二步:输入a,b。
第三步:用if-else语句将三种情况分开,分别运算。
第四步:输出结果。
流程图
运行结果
出现问题
误解惩罚条件,以为超速了就要惩罚,而不是超速10%。
解决方法
后来通过仔细阅读题目以及调试发现了问题。
总结
通过这道题我发现仔细阅读题目的重要性,有的时候编程题并不仅仅是语言的叠加,还有逻辑思维起作用,所以要理解题目所讲的含义。
两周总结
所学内容:这两周主要学习了if-else语句,虽然有些难度,但只要认真学,我相信自己会学好的。
代码行数、博客字数统计:
点评博客
1.https://www.cnblogs.com/zcybky/p/9853307.html