第四周作业
题目7-1 计算分段函数[1]
·代码
#include <stdio.h> int main() { float a,b; scanf("%f",&a); if(a!=0) { b=1/a; printf("f(%.1f) = %.1f",a,b); } else printf("f(0.0) = 0.0"); return 0; }
·设计思路
(1)描述算法
第一步:将a,b定义为浮点数
第二步:根据a的条件使用公式,并将a代入公式中
第三步:得出结果并输出b
(2)流程图
·本题调试过程碰到问题及解决办法
问题:对于%.1f的掌握还不熟练
解决办法:结合课本上以及老师上课所讲最后弄明白了
题目7-2 A除以B
·代码
#include <stdio.h> int main() { int a,b; float c; scanf("%d %d",&a,&b); if (b==0) { printf("%d/%d=Error",a,b); } else if(b<0) { c = 1.0*a/b; printf("%d/(%d)=%.2f",a,b,c); } else { c = 1.0*a/b; printf("%d/%d=%.2f",a,b,c); } return 0; }
·设计思路
(1)描述算法
第一步:将a,b定义为整型,将c定义为浮点数.
第二步:根据b的条件判断执行公式,并代入a,b
第三步:得出结果并输出c或Error
(2)流程图
·本题调试过程碰到问题及解决办法
本题未遇到大问题,就是需要再细心些。
题目7-6 阶梯电价
·代码
#include <stdio.h> int main() { float a,b; scanf("%f",&a); if (a<0) { printf("Invalid Value!"); } else if(a>=0&&a<=50) { b = 0.53*a; printf("cost = %.2f",b); } else { b = 0.53*50+(0.53+0.05)*(a-50); printf("cost = %.2f",b); } return 0; }
·设计思路
(1)描述算法
第一步:将a,b定义为浮点数
第二步:根据a的条件判断公式,并将a代入
第三步:得出结果并输出电费或Invalid Value!
(2)流程图
·本题调试过程碰到问题及解决办法
问题:在用if和else时总把条件搞混
解决方法:认真审清题目,在写之前先在草稿纸上把流程图做好,再通过对照,就不会错了。
题目7-7 出租车计价
·代码
#include <stdio.h> int main() { float m,x; int n; scanf("%f %d",&m,&n); if (m<=3) { x=10+n/5*2; printf("%.0f",x); } else if(m>3&&m<=10) { x=10+2*(m-3)+n/5*2; printf("%.0f",x); } else { x=10+2*7+(m-10)*2*1.5+n/5*2; printf("%.0f",x); } return 0; }
·设计思路
(1)描述算法
第一步:将n定义为整型,将m,x定义为浮点数
第二步:根据m的条件判断如何执行公式,并将m代入
第三步:得出结果并输出车费x
(2)流程图
·本题调试过程碰到问题及解决办法
问题同 题目7-6 阶梯电价 ,已经解决
我的git的地址:https://git.coding.net/Aspirer1/Text-1
本周所学总结:
本周学习了赋值运算符和if else if语句的嵌套。
对if条件语句的使用还不是很熟练,以后要勤加练习。
点评同学的博客地址:
张心悦:http://www.cnblogs.com/zxy980612/
孙铭婧:http://www.cnblogs.com/sun031915/p/7745074.html
吴晓明:http://www.cnblogs.com/gu-an-cheng-wxm/
·表格+折线图