第四次作业
7-1 计算分段函数
#include <stdio.h> int main () { double x,y; scanf("%lf",&x); if(x==0) { printf("f(%.1f) = 0.0",x); }else { y = 1/x; printf("f(%.1f) = %.1f",x,y); } return 0; }
设计思路:
1.分别对x,y进行双精度浮点数定义,注意输入x是用%lf
2.对x等于0和x不等于0分别进行讨论
3.最后输出y的结果
流程框图:
7-2 A除于B
#include <stdio.h> int main () { int A,B; double C; scanf("%d %d",&A,&B); C = (double)A/B; if(B>0) { printf("%d/%d=%.2f",A,B,C); }else { if(B<0) { printf("%d/(%d)=%.2f",A,B,C); }else { printf("%d/0=Error",A); } return 0; }
设计思路:
1.对A,B进行整型定义,C为小数,进行浮点数定义
2.为防止A/B的结果小数部分为0,对A/B进行强制性转换
3.因为C为保留两位小数,则在输出时一定要注意C对应的是%.2f
4.分别对B的不同情况进行分析,输出相应的C值
流程框图:
7-6 阶级电价
#include <stdio.h> int main () { double a,b; scanf("%lf",&a); if(a>50) { b = 0.58*a-2.5; printf("cost = %.2f",b); }else if(0<=a) { b = 0.53*a; printf("cost = %.2f",b); }else { printf("Invalid Value!"); } return 0; }
设计思路:
1.a为用电量,b为电费,因为电量和电费皆不一定为整数,则定义a,b为浮点数
2.因为a是浮点数,则输出时注意对应为%lf
3.对a的不同情况进行分析,输出相应的b值
流程框图:
7-7 出租车计价
#include <stdio.h> int main () { int b,d,e; double a,c; scanf("%lf %lf",&a,&c); if(a>13) { b = 24+3*(a-10); }else if(a>3) { b = 2*a+4; }else { b = 10; } if(c<5) { d = 0; }else { d = c*0.4; } e = (b+d+0.5); printf("%d",e); }
设计思路:
1.a为里程数,b为里程数对应的车费,c为停车时间,d为停车时间对应应付的钱数,e为总车费
2.因为里程数和停车时间有可能都为小数,所以将之定义为双精度浮点数
3.输出不同情况对应的e的值
流程框图
7-6
我的Git地址:https://git.coding.net/exo07/disizhouzuoye.git
上传代码截图:
把if ,else if,else的关系弄混,最后弄清楚else if 和else是在第一个if括号下的
总结:本周主要学习了if语句,扩展到else if等,总是将else if ,else,if三者的关系弄混,最后查阅了书籍,研究了几个事例,大致明白了其中的关系,else if的范围是它自身括号后的范围是去掉if括号后的范围,并且是在if这个大括号下的
董欣 http://www.cnblogs.com/dx2017/p/7726120.html