題目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.


