[C_AR021-易] 成績統計
問題描述:
每次考完試,通常都是老師、助教惡夢的開始,除了要改考卷以外,統計成績也是一件麻煩的事,現在請寫一個程式可以用來處理統計成績的問題,須統計的科目包含:國文、英文、數學,裡面要可以計算全班同學的平均分數,以及各科平均分數的函式。假設有 x 個人考國文、英文、數學,則全體平均為全部成績相加除以 3*x ,國文成績為所有國文成績相加除以 x ,英文成績為所有英文成績相加除以 x ,數學成績為所有數學成績相加除以 x 。
輸入說明:
第一列輸入一個正整數 n 。其後有 n 列,每一列代表學生國文、英文,數學成績。
輸出說明:
只有一列表全體平均、國文平均、英文平均、數學平均,分數皆採四捨五入算至小數點後1位。
範例:
每次考完試,通常都是老師、助教惡夢的開始,除了要改考卷以外,統計成績也是一件麻煩的事,現在請寫一個程式可以用來處理統計成績的問題,須統計的科目包含:國文、英文、數學,裡面要可以計算全班同學的平均分數,以及各科平均分數的函式。假設有 x 個人考國文、英文、數學,則全體平均為全部成績相加除以 3*x ,國文成績為所有國文成績相加除以 x ,英文成績為所有英文成績相加除以 x ,數學成績為所有數學成績相加除以 x 。
輸入說明:
第一列輸入一個正整數 n 。其後有 n 列,每一列代表學生國文、英文,數學成績。
輸出說明:
只有一列表全體平均、國文平均、英文平均、數學平均,分數皆採四捨五入算至小數點後1位。
範例:
Sample Input | Sample Output |
2 10 20 30 60 70 80 | 45.0 35.0 45.0 55.0 |
- #include <iostream>
- #include<iomanip>
- #include<cmath>
- using namespace std;
- int main() {
- // [C_AR021-易] 成績統計
- int n;
- cin >> n;
- double grade[n][3];
- double chinese=0,english=0, math=0, totle=0;
- for(int i = 0;i < n;i++)
- {
- for(int j = 0;j < 3;j++)
- {
- cin >> grade[i][j];
- }
- }
- for(int i = 0;i < n;i++)
- {
- chinese = chinese + grade[i][0];
- if(i == n-1)
- {
- chinese = chinese/n;
- }
- }
- for(int i = 0;i < n;i++)
- {
- english = english + grade[i][1];
- if(i == n-1)
- {
- english = english/n;
- }
- }
- for(int i = 0;i < n;i++)
- {
- math = math + grade[i][2];
- if(i == n-1)
- {
- math = math/n;
- }
- }
- for(int i = 0;i < n;i++)
- {
- for(int j = 0;j < 3;j++)
- {
- totle = totle + grade[i][j];
- if(i == n-1 && j == 2)
- {
- totle = totle/(3*n);
- }
- }
- }
- totle = (floor(totle*10+0.5))/10;
- chinese = (floor(chinese*10+0.5))/10;
- english = (floor(english*10+0.5))/10;
- math = (floor(math*10+0.5))/10;
- cout << fixed << setprecision(1) << totle << " " << chinese << " " << english << " " << math << endl;
- return 0;
- }
123
回覆刪除4156
回覆刪除大家好
回覆刪除