有5个学生,每个学生的数据包括学号、姓名、三门课的成绩。

从键盘输入5个学生的数据,要求打印出每门课程的平均成绩,以及最高分学生的数据。(包括学号、姓名、三门课的成绩)。还是c++... 从键盘输入5个学生的数据,要求打印出每门课程的平均成绩,以及最高分学生的数据。(包括学号、姓名、三门课的成绩)。还是c++ 展开
 我来答 举报
zy1404
2014-01-03 · TA获得超过1387个赞
知道小有建树答主
回答量:784
采纳率:100%
帮助的人:500万
展开全部
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include<iostream>
#include<string.h>
using namespace std;
#define N  3//考试的科目数
#define M  5//全班的学生的数目
struct student
{
    char name[20];
    int score[N];
    float aver;
 
}stu[M];
void Creat(student *stu)
{
    int i,n,j;
    char ch[2]="!";
    printf("请依次输入学生的姓名和成绩:\n");
    for(i=0;i<M;i++)
    {
        scanf("%s",stu[i].name);
        float sum=0.0;
        for(j=0;j<N;j++)
        {
            scanf("%d",&stu[i].score[j]);
            sum=sum+stu[i].score[j];
             
        }
        stu[i].aver=sum/N;
    }
    *stu[i].name=*ch;
}
void show(student *stu)
{
    int i=0;
    float gread[N]={0.0};
    printf("\n他们的成绩及平均分如下:\n");
    for(i=0;i<M;i++)
    {
        int j;
        printf("%-10s",stu[i].name);
            for( j=0;j<N;j++)
            {
                printf("%-4d",stu[i].score[j]);
                gread[j]=gread[j]+stu[i].score[j];
            }
            printf("%.2f",stu[i].aver);
            printf("\n");
    }
    printf("三科成绩的平均分是:\n");
    printf("%-8.2f %-8.2f %-8.2f\n",gread[0]/M,gread[1]/M,gread[2]/M);
 
         
}
 
void Sort(student *stu)
{
    int i=0,k=0;
    student s,max=stu[0];
    for(i=0;i<M;i++)
    {   for(int j=0;j<M-1-i;j++)
        {
            if(stu[j].aver<stu[j+1].aver)
            {
                s=stu[j];
                stu[j]=stu[j+1];
                stu[j+1]=s;
            }
         
        }
    }
    printf("\n成绩最好的是:\n");
        printf("%-10s",stu[0].name);
            forint j=0;j<N;j++)
            {
                printf("%-4d",stu[0].score[j]);
             
            }
            printf("\n");  
}
 
void main()
{
    int k;
     
    Creat(stu);
     
    Sort(stu);
     
     
    printf("\n");
     
    show(stu);
}

 

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式