7-1高速公路超速处罚
#include<stdio.h> int main() { int a,b; float c; scanf("%d %d",&a,&b); if(a<=1.1*b) {printf("OK"); } else { c=(float)(a-b)/b; if(c<0.5) {printf("Exceed %.0f%%. Ticket 200",c*100); } else {printf("Exceed %.0f%%. License Revoked", c*100); } } return 0; }
思路:
第一步:输入限速和速度
第二步:判断速度是否超过限速的百分之十
第三步:若未超过则输出ok,若超过则计算超过多少
第四步:判断是否超速百分之五十,若超过则输出超速多少,并吊销驾照,若未超过则输出超速多少并罚款200
第五步:结束
流程图
无问题
7-2计算油费
#include<stdio.h> int main() { int A,B; char C; double F; scanf("%d %d %c",&A,&B,&C); if(C=='m') { if(B==90) F=A*6.95*(1-0.05); else if(B==93) F=A*7.44*(1-0.05); else F=A*7.93*(1-0.05); } else { if(B==90) F=A*6.95*(1-0.03); else if(B==93) F=A*7.44*(1-0.03); else F=A*7.93*(1-0.03); } printf("%.2lf",F); }
思路:
第一步:输入加油量,油的品种,服务类型
第二步:判断服务类型选择折扣
第三步:若是自助服务则为百分之五的折扣,若是协助服务则是百分之三的折扣
第四步:判断油种选定不同的油价
第五步:根据不同的判断用加油量*油价*折扣计算总花费
第六步:输出花费
第七步:结束
流程图
问题:刚开始没有摄成double,提交之后答案不正确。
7-3比较大小
int A,B,C,N1,N2,N3; scanf("%d %d %d",&A,&B,&C); if(A>B) { N1=A; N2=B; } else{ N1=B; N2=A; } if(N1>C) { if(N2>C) N3=C; else { N3=N2; N2=C; } } else { N3=N2; N2=N1; N1=C; } printf("%d->%d->%d",N3,N2,N1); }
思路:
第一步:输入三个数a,b,c
第二步:判读a和b的大小
第三步:将较大的赋予N1,小的赋予N2
第四步:判断N1与c的大小
第五步:若c大则将c赋予N1,将N1赋予N2,将N2赋予N3.
第六步:若c小则判断N2与c的大小
第七步:若c大则将c赋予N2,将N2赋予N3,若c小则将c赋予N3
第八步:按要求输出N3->N2->N1
第九步:结束
流程图
无问题
7-4两个数的简单计算器
#include<stdio.h> int main() { int X,Y,N; char Z; scanf("%d %c %d",&X,&Z,&Y); switch(Z) { case '+':N=X+Y; printf("%d",N);break; case '-':N=X-Y; printf("%d",N);break; case '*':N=X*Y; printf("%d",N);break; case '/':N=X/Y; printf("%d",N);break; case '%':N=X%Y; printf("%d",N);break; default:printf("ERROR");break; } }
思路
第一步:输入两个数和运算符号
第二步:用switch语句判断类型并做相应的计算
第三步:输出结果
流程图
无问题
由于作业已结束无法提交没道题的提交截图
在本周里主要在学习switch语句,以及熟练使用if语句,在做有关选择的问题时主要是自己思路要清晰,只有构建好整个的框图才能是程序不出错。
史泽文:http://www.cnblogs.com/shilcz/p/7822081.html