计算平均成绩

给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和成绩([0,100]区间内的整数),要求计算他们的平均成绩,并顺序输出平均线以下的学生名单。

输入格式:

输入在一行中给出正整数N10)。随后N行,每行给出一位学生的信息,格式为“学号 姓名 成绩”,中间以空格分隔。

输出格式:

首先在一行中输出平均成绩,保留2位小数。然后按照输入顺序,每行输出一位平均线以下的学生的姓名和学号,间隔一个空格。

输入样例:

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

输出样例:

80.00
zhang 00001
chen 21987

#include <iostream>
#include <iomanip>
using namespace std;
struct  student
    {
        string ID;
        string name;
        double achievement;
              /* data */
    };
int main()
{
    int N;
    double sum=0;//int 
    cin>>N;
    student xs[N];
    for(int i=0;i<N;i++)
    {
        cin>>xs[i].ID>>xs[i].name>>xs[i].achievement;
        xs[i].x=0;
        sum+=xs[i].achievement;
    }
    double average;
    average=sum/N;
    cout<<fixed<<setprecision(2);
    cout<<average;//printf("%.2d",average);
    for(int i=0;i<N;i++)
    {
        if(xs[i].achievement<average)
            {
               cout<<endl;
                cout<<xs[i].name<<" "<<xs[i].ID;}
    }
    return 0;
}

posted @ 2022-07-17 21:11  缘佒  阅读(75)  评论(0编辑  收藏  举报