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.



浙公网安备 33010602011771号