内容一
已经全部完成内容二
题目7-1 计算分段函数#includeint main(){ float x,result; scanf("%f",&x); if (x==0) { printf("f(%.1f) = %.1f",x,result); } else { result=1.0/x; printf("f(%.1f) = %.1f",x,result); } }
设计思路
(1)根据题目可以找出两种情况,分别为x等于0与x不等于0两种情况。 (2)使用if语句分成两种情况求y。 (3)按照题目要求输出最后结果。 流程图问题与解决方法
最开始遇到了这个问题,然后反复检查也没有发现别的问题,但答案就是错的,最后突然想到if语句中要用两个等号才能代表等于,进行了修改,最终正确。
题目7-2 A除以B
#includeint main(){ float a,b,c,d,e; scanf("%f %f",&a,&b); if(b>0) { c=a/b; printf("%.0f/%.0f=%.2f",a,b,c); } else { if(b==0) { printf("%.0f/%.0f=Error",a,b); } else { c=a/b; printf("%.0f/(%.0f)=%.2f",a,b,c); } }}
设计思路
(1)该题给出了三个输出和输入的样例,就说明要考虑这三种情况。 (2)仔细看题目的要求若下面为负数时候,输出的除数要加括号,若除数为0则输出英文,输出的得数一定要保证两位小数。 (3)整体数据都是float形式,所以输出的时候要加上%.0f,这样就是整数了。 (4)最后输出结果 流程图问题与解决方法
此题上课做过练习,没有问题。题目7-6 阶梯电价
#includeint main(){ float x,cost; scanf("%f",&x); if (x>=0&&x<=50) { cost=x*0.53; printf("cost = %.2f",cost); } else { if (x>50) { cost=50.00*0.53+(x-50)*0.58; printf("cost = %.2f",cost); } else if (x<0) { printf("Invalid Value!"); } }}
设计思路
(1)这道题的算法分为两种,一种是50 度以内,一种是50度以外,注意是超出的部分收费。 (2)结果保留到小数点后两位,输出结果。 流程图问题与解决方法
刚开始对问题没有读懂,没有看到是超出部分价格上涨,后来再次读题,进行了修改。
题目7-7 出租车计价
#includeint main(){ int g; float a,b,c,d,e; scanf("%f %f",&a,&b); if (b<5) { if(a<=3) { c=10; printf("%.0f",c); } else { if (a>3&&a<=10) { c=10+(a-3)*2; printf("%.0f",c); } else if(a>10) { c=10+14+(a-10.0)*3; printf("%.0f",c); } } } else if (b>=5) { if(a<=3) { c=10; d=b/5.0*2; e=c+d; printf("%.0f",e); } else { if (a>3&&a<=10) { c=10+(a-3)*2; d=b/5.0*2; e=c+d; printf("%.0f",e); } else if(a>10) { c=10+14+(a-10.0)*3; g=(b/5); d=g*2; e=c+d; printf("%.0f",e); } } } }
设计思路
(1)题目中给出了很多条件,都需要分情况讨论,进行一下整理,最后觉得先判断有没有因路阻而收费的,从而分为两种情况,再在每种情况中讨论另为三种情况。 (2)还要注意特别计算时候的优先级,还有四舍五入的问题。 流程图问题与解决方法
这道题理清思路后也并不是很难,关键是在最后的小数的四舍五入,没有别的问题。GIT
已经上传 地址https://git.coding.net/MikeJackYao/The-first.git总结、互评和学习进度
1、总结本周所学内容:本周主要做了很多练习,并且学习了一些文档,表格和网页制作,对于一些符号用法更进一步了解,本周过得还算充实。 2、点评 于耀淞: 徐铭博: 刘炜旗: 3、表格和折线图