例题9-1 输出平均分最高的学生信息分数 10

假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩,定义一个能够表示学生信息的结构类型。输入n(1<=n<=10)个学生的成绩信息,计算并输出平均分最高的学生信息,平均分保留两位小数。如果平均分最高的学生有多个,按输入顺序输出第一个学生的信息。

输入格式:

输入整数n(1<=n<=10),在下面n行输入n个学生的信息,包括学号、姓名、三门课程成绩(整数)。

输出格式:

在一行中输出平均分最高的学生信息:学号、姓名、平均分(保留两位小数)。

输入样例:

3
101 Zhang 78 87 85
102 Wang 91 88 90
103 Li 75 90 84

输出样例:

num:102,name:Wang,average:89.67
#include
struct student {
    char no[4];
    char name[10];
    int score1;        //结构定义;
    int score2;
    int score3;
};
int main(){
    int n,max=0,i;
    scanf("%d",&n);
    struct student arr[n];     //一定要有这行,temp可以不用成数组形式;
    for( i=0;i(arr[max].score1+arr[max].score2+arr[max].score3)){
            max=i;  //简单比较即可;
        }
    }
        printf("num:%s,name:%s,average:%.2f",arr[max].no,arr[max].name,(arr[max].score1+arr[max].score2+arr[max].score3)/3.0);
    //原样输出,注意除的是3.0不是3,将它变成浮点数;
    return 0;
}

你可能感兴趣的:(算法,数据结构,c语言)