C语言基础课第二次作业
题目7-1 统计学生成绩
1.实验代码
#include<stdio.h> int main(void){ int N,i,A=0,B=0,C=0,D=0,E=0,f; scanf("%d",&N); for(i=1;i<=N;i++){ scanf("%d",&f); if(f>=90){ A=A+1; } else if(f>=80&&f<90){ B=B+1; } else if(f>=70&&f<80){ C=C+1; } else if(f>=60&&f<70){ D=D+1; } else{ E=E+1; } } printf("%d %d %d %d %d",A,B,C,D,E); return 0; }
2.设计思路
(1)文字描述
第一步:定义N,i,A=0,B=0,C=0,D=0,E=0,f。
第二步:输入N代表for循环循环几次。
第三步:使用for循环,for(i=1;i<=N;i++)。
第四步:每次循环scanf一个数字,并用else if语句判断ABDE哪个档次。
第五步:输出ABCDE的值。
(2)流程图
3.本题调试过程碰到问题及解决办法
没有问题。
7-2 计算油费 (15 分)
1.实验代码
#include<stdio.h> int main(void){ int a,b;char c;double sum,e,f; scanf("%d %d %c",&a,&b,&c); if(b==90) e=6.95; else if(b==93) e=7.44; else e=7.93; switch(c) { case 'm' : f=0.95; break; case 'e' : f=0.97; break; } sum=a*e*f; printf("%.2f",sum); return 0; }
2.设计思路
(1)文字描述:
第一步:定义整数a,b。定义字符c。定义双精度数字sum,e,f。
第二步:输入两个整数与一个字符分别存于a,b,c。
第三步:用else if判断b的值,使e等于对应几号油的价钱。
第四部:用switch判断字符c所对应的服务的价钱存于f。
第五步:sum=a*e*f,并输出sum。
(2)流程图
3.本题调试过程碰到问题及解决办法
上图习惯性的把case后的:打成;
这个一直很困惑,以为是电脑的问题,后来看到之前打的代码发现是scanf("%d %d %c",a,b,c);中少打了&号。
二、总结和学习进度条
1.这几周学习自定义函数,do while,switch,for语句等。
遇到问题:我会忘记%d,%c,%f的区别;语句运用上格式模糊,要经常去看书本,于是通过反复地翻书来加深印象。
3.