PTA 7-8 計算平均成績

7-8 計算平均成績 (15分)

給定N個學生的基本信息,包括學號(由5個數字組成的字符串)、姓名(長度小於10的不包含空白字符的非空字符串)和成績([0,100]區間內的整數),要求計算他們的平均成績,並順序輸出平均線以下的學生名單。

輸入格式:
輸入在一行中給出正整數N(≤10)。隨後N行,每行給出一位學生的信息,格式爲“學號 姓名 成績”,中間以空格分隔。

輸出格式:
首先在一行中輸出平均成績,保留2位小數。然後按照輸入順序,每行輸出一位平均線以下的學生的姓名和學號,間隔一個空格。

輸入樣例:

5
00001 zhang 70
00002 wang 80
00003 qian 90
10001 li 100
21987 chen 60

輸出樣例:

80.00
zhang 00001
chen 21987

思路:
定義Student類,包含id,score,name等變量,定義Student類vector,再進行讀入,將每次讀入的成績求和,最後取平均,遍歷vector,將成績高於平均分的學生展示其信息
代碼:

#include <bits/stdc++.h>
using namespace std;
struct Student{
    string id;
    int score;
    string name;
};
int main() {
    float n,sum=0,aver;
    cin>>n;
    vector<Student>a;
    Student s;
    for (int i = 0; i < n; ++i) {
        cin>>s.id>>s.name>>s.score;
        a.push_back(s);
        sum+=s.score;
    }
    aver=sum/n;
    printf("%.2f\n",aver);
    for (int j = 0; j < n; ++j) {
        if(a[j].score<aver)cout<<a[j].name<<" "<<a[j].id<<endl;

    }
    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章