第六周作业
要求一:
1 高速公路处罚
#include <stdio.h> int main() { int a,b; float m; scanf("%d %d",&a,&b); n = (float)(a - b)*100/b; if (m>=10&&m<50) { printf("Exceed %.0f%%. Ticket 200",n); } else if (m>=50) { printf("Exceed %.0f%%. License Revoked",n); } else { printf("OK"); } return 0; }
设计思路:根据if-else语句表达输出结果,注意看清输入格式,定义两个变量a和b,一个浮点数m,最后输出结果。
程序框图:
2 计算油费:
#include <stdio.h> int main() { double x,y,s; int a,b; char c; s=0; 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 'e':y=0.97;break; case 'm':y=0.95;break; } s=x*y*a; printf("%.2f",s); return 0; }
设计思路:设出整数型变量a,b,double型变量,x,y,z,本体运用switch语句进行解题,注意输入公式即可。
出现的问题:忘记了switch语句中break后面应该加上分号。
程序框图:
3 比较大小
实验代码:
#include<stdio.h> int main() { int a,b,c; scanf("%d %d %d",&a,&b,&c); if(a>b&&b>c) { printf("%d->%d->%d",c,b,a); } if(a>c&&c>b) { printf("%d->%d->%d",b,c,a); } if(b>a&&a>c) { printf("%d->%d->%d",c,a,b); } if(b>c&&c>a) { printf("%d->%d->%d",a,c,b); } if(c>a&&a>b) { printf("%d->%d->%d",b,a,c); } if(c>=b&&b>=a) { printf("%d->%d->%d",a,b,c); } return 0; }
设计思路:本题可以连续运用if'语句进行三个数的比较,设出三个整数变量abc,没什么问题。
4 两个数的简单计算器
实验代码:
#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\n");break; } return 0; }
设计思路:输入c代表字符的运算符,设出整数变量a,b,运用switch语句进行解题,最后得出结果。
程序框图:
要求二:
git地址:https://git.coding.net/hjw-/666.git
要求三
总结:本周主要学习了switch语句,复习了if-else语句的嵌套,if语句已经一本了解,还需要多加练习,switch‘语句是新的语句类型,需要自己多研究琢磨,不会的问题自己反复练习。
要求四
学习进度:
小伙伴的博客地址:
http://www.cnblogs.com/gao628526/p/7801191.html
http://www.cnblogs.com/DavidPark/
http://www.cnblogs.com/nothingistrue/