题目1:计算分段函数
实验代码:
#include<stdio.h> int main () { float x,result; scanf("%f",&x); result = 1/x; if(x==0) printf("f(%.1f) = %.1f\n",x,x); else printf("f(%.1f) = %.1f\n",x,result); return 0; }
具体算法:
1.定义出浮点数x,并给出特定条件下结果的计算方式。
2.假设出当x=0时,输出的值,再用else假设出x不为0时,输出的值,完成计算。
流程图:
调试过程遇到的问题:本题较简单,没有遇到什么困难,但在流程图的设计上没有记住各个框的意义,我会加以改正。
题目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。
2.先假设出当b=0时的输出方式。
3.当b不为0时,按照特定的输出方式输出c,并给出b是否大于0时的计算方式。
4.分别按照输出方式输出结果。
流程图:
调试过程:
在计算b<0的情况时,没有将分母加上括号,导致整个代码处于半对半错的状态,更改后答案正确,截图如下:
题目3:阶梯电价
实验代码:
#include<stdio.h> int main () { int a; float b; scanf("%d",&a); if(a > 50) { b = 0.53*50+(a-50)*0.58; printf("cost = %.2f\n",b); } else { if(a < 0) printf("Invalid Value!\n"); else b = 0.53*a; printf("cost = %.2f\n",b); } return 0; }
设计思路:
1.分别定义用电量a,电价b。
2.先假设出用电量a大于50的情况及计算方式。
3.再将用电量a小于50的情况分为是否小于0进行讨论。
4.输出电价b。
流程图:
调试过程:
本题的困难在进行实际操作之前已听过讲解,所以调试过程未出现问题。
题目4:出租车计价
实验代码:
#include<stdio.h> int main() { int minutes; float mile,m; scanf("%f %d",&mile,&minutes); minutes=minutes/5; if(mile<=3) { m=10+2*minutes; } else if(mile>3&&mile<=10) { m=10+2*(mile-3)+2*minutes; } else { m=10+2*7+(mile-10)*2*1.5+2*minutes; } printf("%.0f",m); return 0; }
设计思路:
1.分别定义出时间数minutes和公里数miles。
2.假设里程少于3的情况,再讨论里程数在3到10之间的情况,再讨论大于10的情况。
3.根据计算方式分别进行计算。
流程图:
调试过程:
因为这道题基本上我都没有看懂,所以大部分都来自于借鉴,在听过同学的讲解和几乎手把手的帮忙下完成了这道题。
我的Coding仍处于问题状态,是我的错,我会在下周上c语言的课时向班主任寻求帮助并加以改正。
本周的学习内容主要集中在if语句的使用上,我觉得我掌握的还可以,就是在读题时可能会在理解题意上出现问题,导致后续的问题及定义出现问题,我会在后续的学习中加以改正,并在休息时间多对学过的知识进行温习。
作业点评:
1.金海东同学的作业,http://www.cnblogs.com/jhd1127/p/7747145.html
2.于耀凇同学的作业,http://www.cnblogs.com/kimhae/p/7747530.html
3.金海宽同学的作业,http://www.cnblogs.com/kimhae/p/7747530.html
本周时间表:
以上是我的第四次作业,欢迎同学们来点评,我会及时进行改正。