猿问

求救大神!!!!!!!!有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩) 输入 学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。成绩是正整数 输出 各门课的平均成绩 最高分的学生的数据(包括学号、姓名、3门课成绩),平均成绩用整数表示,舍弃小数

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

struct date

{

    char nu;

    char name;

    int a;

    int b;

    int c;

    int avg;

}s[100];

int main()

{

    int i,sum1,sum2,sum3,m1,m2,m3,n;

    sum1=0;

    sum2=0;

    sum3=0;

    scanf("%d",&n);

    for(i=0;i<n;i++)

    {

        scanf("%s%s%d%d%d",&s[i].nu,&s[i].name,&s[i].a,&s[i].b,&s[i].c);

        s[i].avg=(s[i].a+s[i].b+s[i].c)/n;

    }

    for(i=0;i<n;i++)

    {

        sum1+=s[i].a;

        sum2+=s[i].b;

        sum3+=s[i].c;

    }

    m1=sum1/n;

    m2=sum2/n;

    m3=sum3/n;

    printf("%d %d %d",m1,m2,m3);

    int index=0,max=s[0].avg;

    for(i=0;i<n-1;i++)

    {

        if(s[i].avg<s[i+1].avg)

        {

        max=s[i+1].avg;

        index=i+1;

        }

    }

    printf("%s %s ",s[index].nu,s[index].name);

    printf("%d %d %d",s[index].a,s[index].b,s[index].c);

    return 0;

}


南柯一梦1996
浏览 10040回答 1
1回答

农民爸爸

大概思路是:用结构体,创建个链表.创建同时可输入数据.排序链表根据你排序的结果输出首节点,或尾节点数据.别问代码,我也是新手.来打酱油的. -3-
随时随地看视频慕课网APP
我要回答