题目1:高速公路超速处罚
实验代码:
#include<stdio.h> int main () { int a,b; float x; scanf("%d %d",&a,&b); x = (a-b)/(float)b; if (a-b<0.1*b) printf("OK\n"); else { if(a-b<0.5*b) printf("Exceed %.0f%%. Ticket 200\n",x*100); else { printf("Exceed %.0f%%. License Revoked\n",x*100); } } return 0; }
设计思路:
1.首先分别定义出变量a,b,x,并使它们可以被赋值。
2.给出超速限度的计算方式,即a-b与0.1*b和0.5*b的大小关系。
3.根据计算结果,分别给出输出的语句即可。
调试过程:
本题在代码提交过程中是一遍过,所以没有什么问题。
流程图:
题目2:计算油价
实验代码:
#include <stdio.h> int main() { int a,b; char c; float d,e,f; scanf("%d %d %c",&a,&b,&c); if(c=='m') { f=0.05; if(b==90) { e=6.95; d=a*e*(1-f); }else if(b==93) { e=7.44; d=a*e*(1-f); }else if(b=97) { e=7.93; d=a*e*(1-f); } }else if(c=='e') { f=0.03; if(b==90) { e=6.95; d=a*e*(1-f); }else if(b==93) { e=7.44; d=a*e*(1-f); }else if(b=97) { e=7.93; d=a*e*(1-f); } } printf("%.2f",d); return 0; }
设计思路:
1.分别定义a,b,c,d,e,f,并使a,b,c可以被赋值或字母。
2.讨论当选择m优惠方式时,不同油的计价方式,即总油价a=型号油价b*折扣(1-f)*油量。
3.再用同样思路讨论选择e优惠时,油的计价方式。
调试过程:
在调试过程中,我为了方便没有定义出折扣f的值,而是直接在计算中进行了赋值,导致只有题目给定的情况下数据正确,代码如下:
但是分别对d,e,f定义之后,问题得到了解决。
流程图:
题目3:比较大小
实验代码:
#include<stdio.h>
int main ()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
if(a<b)
{
if(c>b)
{
printf("%d->%d->%d",a,b,c);
}else
{
if(a>c)
{
printf("%d->%d->%d",c,a,b);
}else
{
printf("%d->%d->%d",a,c,b);
}
}
}else if(a>b)
{
if(a>c)
{
if(c>b)
{
printf("%d->%d->%d",b,c,a);
}else
{
printf("%d->%d->%d",c,b,a);
}
}else
{
printf("%d->%d->%d",b,a,c);
}
}else if(a==b&&b==c)
printf("%d->%d->%d",a,c,b);
return 0;
}
设计思路:
1.分别定义a,b,c,并使他们可以被赋值。
2.讨论当a<b的条件下,b与c的大小,如果c>b则直接输出三者大小关系;如果c<b则再讨论a与c的关系。
3.同种思路下再讨论a>b的条件下的情况。
4.在最后讨论a=b=c的情况进行输出。
调试过程:
本题在调试过程中我觉得虽然繁琐,但是细致的进行讨论后,并没有出现问题。
流程图:
(在流程图中我并没有想出讨论a,b,c相等的情况,我会在下一周的学习中请教老师。)
题目4:简单的计算器
#include <stdio.h> int main() { int a,b,c; char d; scanf("%d %c %d",&a,&d,&b); switch(d) { case('+'):printf("%d",c = a+b);{break;} case('-'):printf("%d",c = a-b);{break;} case('*'):printf("%d",c = a*b);{break;} case('/'):printf("%d",c = a/b);{break;} case('%'):printf("%d",c = a%b);{break;} default:printf("ERROR");{break;} } }
设计思路:
1.定义出a,b,c以及字符d,并使a,b,d可以被赋值。
2.讨论当d的字符为+,-,*,%,/时,c的计算方式。
3.在d输入的字符不在题目范围内,输出ERROR。
调试过程:
并没有遇到什么问题,我觉得这是一道不是很难的switch语句的题目。
流程图:
个人总结:在本周的学习中继续复习了if-else语句,同时学习了新的switch语句,我觉得switch语句我掌握的不是很好,所以在接下来的学习中我会继续努力跟紧老师,学习好这个我掌握的不好的地方。而且对于我来讲,这个switch语句就是难点,所以我会尽全力学习好这一部分的。对于老师的上课方式,我觉得我很喜欢,有学习新知识的时间,也有我们自己操作的时间,我觉得很棒,如果说非要有点小建议,我希望我们能有更多一点的操作时间,虽然说本来我们自己的操作时间已经相对很长了。
作业点评:
1.李锐同学的作业:http://www.cnblogs.com/572453251asd/p/7811205.html
2.金海东同学的作业:http://www.cnblogs.com/jhd1127/p/7811138.html
3.金海宽同学的作业:http://www.cnblogs.com/kimhae/p/7795597.html
时间表: