[C_MM151-易] 成績計算
問題描述:
有某班級的程式設計課 , 共有五次的平時成績 , 每個人選三次最高的成績來計算 , 算出每個人的平均分數 ( 求到小數點第二位 ), 最後輸出全班的總平均值 ( 求到小數點第二位 )
輸入說明:
例如 :
求出全班總平均分數為 80.00
範例:
輸出輸入測試資料
有某班級的程式設計課 , 共有五次的平時成績 , 每個人選三次最高的成績來計算 , 算出每個人的平均分數 ( 求到小數點第二位 ), 最後輸出全班的總平均值 ( 求到小數點第二位 )
輸入說明:
例如 :
學生 | 平時考 _1 | 平時考 _2 | 平時考 _3 | 平時考 _4 | 平時考 _5 |
Student_01 | 80 | 60 | 90 | 100 | 70 |
Student_02 | 10 | 30 | 90 | 50 | 70 |
Student_03 | 50 | 50 | 60 | 90 | 90 |
範例:
輸出輸入測試資料
Sample Input: | Sample Output: |
80,60,90,100,70 10,30,90,50,70 50,50,60,90,90 | 80.00 |
90,90,90,90,90 80,80,80,80,80 70,70,70,70,70 | 80.00 |
20,20,20,20,20 30,40,60,70,70 80,54,78,33,68 | 54.00 |
- #include <iostream>
- #include <algorithm> //sort
- #include <vector>
- #include <string>
- #include <sstream>
- #include <stdio.h>
- #include <ctype.h>
- #include<iomanip>
- using namespace std;
- int main() {
- // [C_MM151-易] 成績計算
- string s1;
- getline(cin, s1);
- vector<double> stu1;
- stringstream ss(s1);
- string token;
- //字串切割
- while (getline(ss, token, ','))
- {
- stu1.push_back(stod(token));
- }
- sort(stu1.begin(), stu1.end());
- reverse(stu1.begin(), stu1.end());
- double stu1_ave = 0;
- for(int i = 0;i < 3;i++)
- {
- stu1_ave = stu1_ave + stu1[i];
- }
- stu1_ave = stu1_ave/3;
- string s2;
- getline(cin, s2);
- vector<double> stu2;
- stringstream ss2(s2);
- //字串切割
- while (getline(ss2, token, ','))
- {
- stu2.push_back(stod(token));
- }
- sort(stu2.begin(), stu2.end());
- reverse(stu2.begin(), stu2.end());
- double stu2_ave = 0;
- for(int i = 0;i < 3;i++)
- {
- stu2_ave = stu2_ave + stu2[i];
- }
- stu2_ave = stu2_ave/3;
- string s3;
- getline(cin, s3);
- vector<double> stu3;
- stringstream ss3(s3);
- //字串切割
- while (getline(ss3, token, ','))
- {
- stu3.push_back(stod(token));
- }
- sort(stu3.begin(), stu3.end());
- reverse(stu3.begin(), stu3.end());
- double stu3_ave = 0;
- for(int i = 0;i < 3;i++)
- {
- stu3_ave = stu3_ave + stu3[i];
- }
- stu3_ave = stu3_ave/3;
- double class_ave = (stu1_ave + stu2_ave + stu3_ave)/3;
- cout << fixed << setprecision(2) << class_ave << endl;
- return 0;
- }
沒有留言:
張貼留言