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