<一>高速公路超速处罚
#include<stdio.h> int main() { int a,b,c,d; double e; scanf("%d %d",&a,&b); c=1.1*b; d=1.5*b; e=(double)100*(a-b)/(double)b; if(a<=c) printf("OK"); else if(a<d) printf("Exceed %.0f%%. Ticket 200",e); else printf("Exceed %.0f%%. License Revoked",e); }
设计思路:
1.定义变量车速、限速为a,b。
2.用if语句判断a是否大于或小于限速的1.1倍和1.5倍。
3.按照题目要求输出。
流程图:
本题调试过程碰到问题及解决办法:无。
<二>计算油费
#include<stdio.h> int main() { int a,b; double x,y; char c; scanf("%d %d %c",&a,&b,&c); switch(b) { case 90:x=6.95;break; case 93:x=7.44;break; case 97:x=7.93;break; } switch(c) { case'm':y=0.95;break; case'e':y=0.97;break; } printf("%.2f",a*x*y); }
设计思路:
1.定义变量加油量a,汽油品种b(90、93或97),服务类型c(其中c为字符型),x(汽油的价钱),y(不同服务类型的价钱)。
2.用switch语句判断b和c的情况,分别对x,y赋值。
3.加油量a*x*y。
4.按照题目要求输出。
流程图:
本题调试过程碰到问题:答案错误。
解决办法:对y赋值错误,赋给y的是折扣的价钱,需要减去折扣再赋给y,修改之后通过。
<三>比较大小
#include<stdio.h> int main() { int a,b,c,t; scanf("%d %d %d",&a,&b,&c); if(a>b) { t=a; a=b; b=t; } if(a>c) { t=a; a=c; c=t; } if(b>c) { t=b; b=c; c=t; } printf("%d->%d->%d",a,b,c); }
设计思路:
1.定义整数a,b,c,t。
2.用if语句判断a,b,c中谁大。
3.按照题目输出。
流程图:
本题调试过程碰到问题及解决办法:无。
<四>两个数的简单计算器
#include<stdio.h> int main() { int a,b; char c; scanf("%d %c %d",&a,&c,&b); switch(c) { case'+':printf("%d",a+b);break; case'-':printf("%d",a-b);break; case'*':printf("%d",a*b);break; case'/':printf("%d",a/b);break; case'%':printf("%d",a%b);break; default:printf("ERROR"); } }
设计思路:
1.定义a,b,c(其中a和b为整数型,c为字符型)
2.用switch语句判断c的情况。
3.按照题目要求输出。
流程图:
本题调试过程碰到问题及解决办法:无。
Git地址:https://coding.net/u/FENGZX/p/PTA/git
图表:
个人总结: 本周新学了for语句,它比while语句灵活,让我深层的理解了循环。但是if语句的嵌套让我有点不明白,大概是逻辑思维能力还不强吧,我会努力的!