第二次作业
作业要求:【https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2293】
第三次作业 题目7-4 计算分段函数[1]
#include <stdio.h> int main(void) { double x,y; scanf(" %lf",&x); if ( x != 0 ){y = 1.0 / x; } else { y = 0;} printf("f(%.1f) = %.1f",x,y); return 0; }
解题思路
第一步:定义两个浮点型变量x、y。
第二步:输入一个整型变量x的数值。
第三步:判断x与0是否相等,如果x=0则输出y=0、如果x不等于0,则将x代入 y = 1.0 / x 并得到y的结果。
第四步:输出最后的y值,(%.1f)代表小数点后保留一位小数,如果不足就用0补足。
流程图
程序运行时的结果:
个人总结和遇到的问题:
在本周的学习中我学会了if、else的条件语句应用。在最开始做题的时候我会在else的后面也写上x的取值范围,但是在查看上课的ppt之后我才发现自己的错误;并且在最开始的时候无法区分else if和else两者的区别。但是我在上网的查询之后我才明白了他俩是在不同情况下使用的条件语句。两者在编写程序的时候不可以一起使用,要么使用if else、要么使用else if。但是在某种情况下两者可以解决一道题型。
第四次作业7-2高速公路超速处罚
#include<stdio.h> int main(void) { double a,b,c,d; scanf("%lf %lf",&a,&b); c=a-b; d=((a/b)-1)*100; if(c<b*0.1){ printf("OK");} else if(c>=b*0.5){ printf("Exceed %.0f%%. License Revoked",d); } else{ printf("Exceed %.0f%%. Ticket 200",d); } return 0; }
解题思路
第一步:先定义四个浮点型变量a,b,c,d。
第二步:输入两个整型变量a、b,其中a代表汽车速度;b表示汽车的最大限速度。
第三步:将a,b两个值代入式子中得出超出最大限速度的值为c。
第四步:利用 d=((a/b)-1)*100 来计算超出最大限速度的百分比为d。
第五步:通过运用if else的语句来对得到的百分比d进行判断,如果d低于本车最大道限速的10%,就直接在六步中输出。如果的d达到或者超出本车最大限速度的50%,直接在第七步输出结果。若不满足上述两种条件则直接跳到第八步。
第六步:输出OK!
第七步:输出 Exceed %.0f%%. License Revoked 。其中(%.0f)代表着输出的超速百分比为整数,而后面的两个百分号是为了在输出时出现一个百分号。
第八步:输出 Exceed %.0f%%. Ticket 200 。其中的(%.0f)也代表着超速百分比为整数,并且两个百分号同样是为了在输出的结果的时候出现一个百分号。
流程图
遇到的问题:
最开始的时候我在编写输出的语句的时候按照以前的方法发现在最后的结果的时候 没有输出%就很奇怪,我有核对了之前的代码发现也是没有问题。最后我尝试着在后面又加了一个%然后结果就输出了%、经过好久的思考我才知道第一个%是为了输出结果用的而并非是在输出是输出一个%。
程序正确执行:
点评:
1:【https://www.cnblogs.com/yangzhenghui/p/9900452.html】
2:【https://www.cnblogs.com/zcybky/p/9853307.html】
3:【https://www.cnblogs.com/abcefg123/p/9898650.html】