为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C
南柯一梦1996 2015-11-03 20:40:49
#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;}
查看完整描述

1 回答

?
农民爸爸

TA贡献6条经验 获得超0个赞

大概思路是:

  1. 用结构体,创建个链表.创建同时可输入数据.

  2. 排序链表

  3. 根据你排序的结果输出首节点,或尾节点数据.

    别问代码,我也是新手.来打酱油的. -3-

查看完整回答
反对 回复 2016-04-18
  • 1 回答
  • 0 关注
  • 10038 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号