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

从键盘输入5个学生的数据,要求打印出每门课程的平均成绩,以及最高分学生的数据。(包括学号、姓名、三门课的成绩)。还是c++

#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);
for( int 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);
}

 

温馨提示:内容为网友见解,仅供参考
无其他回答

有5个学生,每个学生的数据包括学号、姓名、三门课的成绩,从键盘输入5...
printf("\\n成绩最高的学生是:\\n"); printf("学号:%d\\n姓名:%d\\n三门课成绩:%5.1f%5.1f%5.1f\\n平均成绩:%6.2f\\n",stu.num,stu.name,stu.score[0],stu.score[1],stu.score[2]);}出来一堆错。。。谁知道怎么回事啊。。。多谢大家帮忙! 展开  我来答 分享 微信扫一扫 网络繁忙请稍后重试 ...

...1) 有5个学生,每个学生的数据包括学号、姓名、3门课的成绩_百度知...
} STU;void input(STU *stu, int num) \/\/stu为学生数组的首地址,num为数组长度 { int i ;printf("请输入%d个学生的基本情况: \\n",num) ;printf("姓名 学号 成绩一 成绩二 成绩三\\n") ;for(i=0; i<num; i++){ scanf("%s%s%f%f%f",&stu[i].name,&stu[i].stunum,&stu[i]...

...1. 有5个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输...
define max 5 \/*设定要输入成绩的学生个数*\/ double zpj; \/*总平均值*\/ struct student \/*结构体*\/ { int num;char name[10];int score1;int score2;int score3;double pj;};struct student stu[max],temp;void Input() \/*输入函数*\/ { int i;for(i=0;i<max;i++)...

...从键盘输入以上的数据(包括学号,姓名,3门课的成绩),
printf("学号:%d\\n姓名:%s\\n三门课成绩:%5.1f%5.1f%5.1f\\n",stu.num,stu.name,stu.score[0],stu.score[1],stu.score[2]);} 不谢

有5个学生,每个学生的数据包括学号、班级、姓名、三门课成绩。
Ø学校收到后,会发给我们在线测试的考试号。之后学生来我们办公室参加测试。测试机会只有1次,涵盖听力、写作、阅读、口语四方面,时间约为2.5个小时。Ø 测试后,由我们通知学校学生已经完成测试,学校可根据考试结果在3个工作日内出具语言通知书。Ø学生入学报到时,学校会再进行一次...

学生学籍管理系统 学生成绩信息包括:学号,姓名,三门课程成绩(英
c语言问题急求答案①输入5个学生的数据信息,包括学生的学号,姓名,数学、英语和语文三门课程的成绩并统计平均成绩;②系统中学生数据的排列顺序,初始时是按照输入顺序排列的;根据使用者的选择,可以按照学号由低向高排序,也可以按照平均成绩由高向低排序;求大神 ...

...5名学生信息登记表,每个学生的信息包括学号,姓名,性别及三门课程的...
1、在电脑桌面空白处点击右键选择新建EXCEL文件。2、选中该文件点击右键选择重命名。3、在出现的重命名编辑框中输入文件名称如学生信息登记表。4、打开该学生信息登记表选中两行,点击上方的合并居中按钮并输入文件表头。5、然后分别在对应的单元格中输入需要的文字信息。6、再分别选中序号、学号姓名和性别...

C语言编程题:有5个学生,每个学生有3门课成绩,从键盘上输入以上数据(包 ...
unsigned int Uint32;typedef struct stu{char name[NAME_MAX];char stu_number[NUMBER_MAX];Uint32 chinese;Uint32 math;Uint32 english;} stu;int main(void){stu students[STUDENTS_MAX];int idx=0;printf("输入5个学生的信息\\n");for(idx=0;idx<STUDENTS_MAX;idx++){printf("name:"...

...5名学生信息登记表,每个学生的信息包括学号,姓名,性别及三门课程的...
1、在电脑桌面空白处点击右键选择新建EXCEL文件。2、选中该文件点击右键选择重命名。3、在出现的重命名编辑框中输入文件名称如学生信息登记表。4、打开该学生信息登记表选中两行,点击上方的合并居中按钮并输入文件表头。5、然后分别在对应的单元格中输入需要的文字信息。6、再分别选中序号、学号姓名和性别...

...包括学生学号(字符型)、姓名(字符型)和3门课成绩(整型)
struct student \/\/定义结构体,包括学号,姓名,成绩,平均分,总成绩 { int no;char name[10];int score[3];float ave;int sum;};int main(){ struct student s[5], temp;int i, j;printf("input 5 students' informations\\n");for(i = 0; i < 5; ++i) \/\/输入信息 { s...

相似回答