C语言计算并输出学生成绩
C语言课程设计--学生成绩管理系统

*题目七:学生成绩管理系统设计学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。
主要功能:(1)能按学期、按班级完成对学生成绩的录入、修改(2)能按班级统计学生的成绩,求学生的总分及平均分(3)能查询学生成绩,不及格科目及学生名单(4)能按班级输出学生的成绩单要求:使用二进制文件方式存储数据,系统以菜单方式工作源代码:#include<stdio.h>#include<ctype.h>#include<stdlib.h>#include<string.h>struct Student{int cls;char nam[10];char num[10];int chinese;int english;int computer;int math;}stud1[100],stud2[100];{char a;while(a>'7'||a<'0'){system("cls");printf(" 欢迎使用学生成绩管理系统\n");printf(" 制作人:章建\n");printf("********************** 学生成绩管理系统************************\n");printf(" 1.输入学生成绩\n");printf(" 2.输出学生成绩\n");printf(" 3.查找并显示学生成绩\n");printf(" 4.按姓名查找,修改学生资料\n");printf(" 5.显示所有学生名单\n");printf(" 6.查找并删除学生信息\n");printf(" 7.从文件读取数据\n");printf(" 0.储存学生资料并退出系统\n");printf("********************************************************************* *\n");printf("请选择(0-7)\n");a=getchar();}return(a-'0');}/******************************************************************************int Input(Student stud[],int n) //输入数据(第一学期)。
c语言输入10个同学的成绩总分和平均值

c语言输入10个同学的成绩总分和平均值C语言输入10个同学的成绩总分和平均值一、前言在学习编程语言的过程中,C语言是一个非常基础且重要的语言。
在C 语言中,输入输出是非常基础的内容之一,学会如何输入和处理数据是我们学习编程的第一步。
本文将以输入10个同学的成绩总分和平均值为题,深入探讨C语言中的输入输出操作,并共享我对这个主题的个人理解。
二、基本概念在C语言中,我们可以通过scanf()函数来实现数据的输入。
scanf()函数是一个输入函数,可以将用户输入的数据存储到指定的变量中。
在本题中,我们需要输入10个同学的成绩,分别存储到不同的变量中。
三、具体操作在C语言中,我们可以使用循环来反复输入数据,以实现输入10个同学的成绩。
我们需要定义一个数组来存储这10个同学的成绩,然后通过循环依次输入每个同学的成绩。
我们可以使用循环再次遍历数组,求得这10个同学的成绩总和。
通过平均值公式,我们可以求得这10个同学的成绩平均值。
四、代码示例```c#include <stdio.h>int main() {int scores[10];int sum = 0;double average = 0.0;// 输入10个同学的成绩for (int i = 0; i < 10; i++) {printf("请输入第%d个同学的成绩:", i + 1);scanf("%d", &scores[i]);}// 计算成绩总和for (int i = 0; i < 10; i++) {sum += scores[i];}// 计算平均值average = (double) sum / 10;// 输出成绩总和和平均值printf("这10个同学的成绩总和为:%d\n", sum);printf("这10个同学的成绩平均值为:%.2f\n", average);return 0;}```五、总结回顾通过以上的代码示例,我们了解了如何在C语言中输入10个同学的成绩总分和平均值。
编程从键盘输入10个学生的成绩,输出平均成绩和低于平均分的学生成绩。

从编程键盘输入10个学生的成绩,输出平均分和低于平均分的。
从编程键盘输入10个学生的成绩,输出平均分和低于平均分的。
1#include <stdio.h>int main(){double score[10];inti;for(i=0;i<10;i++)scanf("%lf",&score[i]);for(i=0;i<10 ;i++)if(score[i] < 60)printf("%g ",score[i]);return 0;}从编程键盘输入10个学生的成绩,输出平均分和低于平均分的。
2#include<stdio.h>void main(){int nscore[10]={0};inti,j,ntemp;for(i=0;i<10;i++){scanf("%d",&nscore[i]);}/*冒泡法排序*/for(i=0;i<10;i++){for(j=0;j<10-i-1;j++){if(nscore[j]<nscore[j+1]) /*两两比较,小的放后放,一次循环后最小数在最后*/{ntemp=nscore[j];nscore[j]=nscore[j+1];nscore[j+1]=n temp;}}}printf("由大到小排列为:\n")for(i=0;i<10;i++){printf("%d",nscore[i]);}printf("\n");}从编程键盘输入10个学生的成绩,输出平均分和低于平均分的。
3这个可以使用冒泡法做!从编程键盘输入10个学生的成绩,输出平均分和低于平均分的。
4#include <stdio.h>#define max 10struct student {char no[10];char name[10];float score[3];}stu[max];float ave_course[3] = {0};float ave_student[max] = {0};int max_ave_i = 0; 存储平均分最高的学生索引intmax_course_i[3] = {0}; 存储单科分数,最高的学生索引录入学生成绩void input(int n) {int i;for(i=0; i<n; i++) {scanf("%s %s",stu[i].no,stu[i].name);scanf("%f %f %f",&stu[i].score[0], &stu[i].score[1],&stu[i].score[2]);}}计算平均成绩void average(intn){int i,j;float max_ave = 0.0f;float max_course[3] = {0};计算每门课的平均成绩for(i=0; i<n; i++) {for(j=0; j<3; j++) {ave_course[j] +=stu[i].score[j];if(max_course[j]<stu[i].score[j]){max_ course[j]<stu[i].score[j];max_course_i[j] =i;}}}for(j=0; j<3; j++) {ave_course[j] /= n;}计算每个学生的平均成绩for(i=0; i<n; i++) {for(j=0; j<3; j++) {ave_student[i] += stu[i].score[j];}ave_student[i] /= 3;if(max_ave < ave_student[i]) {max_ave =ave_student[i];max_ave_i = i;}}}void main () {inti,j;printf("请输入学生的学号姓名语文数学英语");input(max);average(max);printf("\n课程的平均成绩是: %6.2f %6.2f %6.2f\n",ave_course[0],ave_course[1],a ve_course[2]);printf("\n学生的平均成绩是:\n");for(i=0; i<max; i++) {printf(" %s %s %6.2f\n", stu[i].no, stu[i].name, ave_student[i]);}printf("平均分,最高的学生:\n");printf(" 学号=%s, 姓名=%s, 平均分=%6.2f:\n", stu[max_ave_i].no, stu[max_ave_i].name,ave_student[max_ave_i]);printf("语文,最高分的学生:\n");i=max_course_i[0];printf(" 学号=%s, 姓名=%s, 成绩=%6.2f:\n", stu[i].no, stu[i].name,stu[i].score[0]);printf("数学,最高分的学生:\n");i=max_course_i[1];printf(" 学号=%s, 姓名=%s, 成绩=%6.2f:\n", stu[i].no, stu[i].name,stu[i].score[1]);printf("英语,最高分的学生:\n");i=max_course_i[2];printf(" 学号=%s, 姓名=%s, 成绩=%6.2f:\n", stu[i].no, stu[i].name,stu[i].score[2]);getchar();getchar();}从编程键盘输入10个学生的成绩,输出平均分和低于平均分的。
学生成绩查询c语言程序

填写说明:1、同一名教师在不同教学班教授的同一门课程只须填写一份教学日历;由不同教师教授的同一门课程每人填写一份教学日历。
2、“作业、实验”栏中的作业,是指教师计划布置的,应该批改的作业。
3、法定假日不安排教学内容,其课次顺延安排.系统开发语言作业现有一个班级,共10人,本学期共学习三门课程,设计一个学生成绩管理系统,要求如下:1、完成三门课程成绩输入;或单门课程录入、或同时录入三门课.2、完成成绩排序:按单科成绩排序、按平均分排序;3、完成成绩统计:按单科分段统计人数、按平均分分段统计(60分以下,60—79分,80以上);4、用结构体完成学生姓名和成绩的输入:5、完成成绩查询:单科查询、平均分查询、按姓名查询、分段查询等;6、完成奖学金统计:三门课均高于90分,一等奖学金;三门课均高于80分,二等奖学金,统计获奖学金人数7、完成成绩输出:按单科输出、输出所有成绩、按平均分由高到低输出,输出奖学金名单等;.作业要求第1、2、3周、完成成绩录入、排序和统计第4、5、6周、完成菜单和函数编制第2、8、9周、完成成绩查询和统计第10、11周、完成查询输出第12、13周、讲程序进行函数化、模块化第14、15周、应用指针、指针函数以及函数指针等第16周,完善程序、验收。
最后打印出完整代码清单代码如下:#include<stdio.h〉struct student{float math;float Chinese;float English;float average;char name[5];};void inputgread(struct student stu)//输入成绩{int a=0;scanf(”%s”,);printf("按顺序输入数学成绩,语文成绩,英语成绩");scanf("%f%f%f”,&stu。
math,&stu.Chinese,&stu。
c 语言 计算平均成绩

5-48 计算平均成绩(15分)给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符串)和成绩([0,100]区间内的整数),要求计算他们的平均成绩,并顺序输出平均线以下的学生名单。
输入格式:输入在一行中给出正整数N(≤\le≤10)。
随后N行,每行给出一位学生的信息,格式为“学号姓名成绩”,中间以空格分隔。
输出格式:首先在一行中输出平均成绩,保留2位小数。
然后按照输入顺序,每行输出一位平均线以下的学生的姓名和学号,间隔一个空格。
输入样例:500001 zhang 7000002 wang 8000003 qian 9010001 li 10021987 chen 60输出样例:80.00zhang 00001chen 21987#include <stdio.h> struct score{char num[10];char name[10];double s;};int main(){struct score s[1000];int i, n;double average = 0;scanf("%d", &n);for (i = 0; i < n; i++){scanf("%s %s %lf", &s[i].num, &s[i].name, &s[i].s);}for (i = 0; i < n; i++){average = average + s[i].s;}average = average / n;printf("%.2f\n", average);for (i = 0; i < n; i++){if (s[i].s < average){printf("%s %s\n", s[i].name, s[i].num);}}return 0;}。
学生成绩管理系统C语言源程序

for(p=head->next;p!=NULL&&strcmp(p->name,tem);p=p->next);
if (!p)
{
printf("\n\n找不到你要查询的姓名,请重新输入,输入0表\
示结束:");
scanf("%s",tem);
}
else if (!strcmp(p->name,tem))
n=0;
head=(Student *)malloc(LEN);
p2=head;
printf("\n请输入第%d名学生的学号,学号为0表示结束输入:",n+1);
scanf("%d",&flag);
while(getchar()!='\n');
for(;flag;)
{
n++;
p1=(Student *)malloc(LEN);
char xueqi[20];
int score[4];
int sum;
struct student *next;
}Student;
int n;
Student *cin(void);
Student *sort_1(Student *head,int);
void sort_2(Student *head);
max_3=min_3=p->score[2];max_2=min_2=p->score[3];
max_sum=min_sum=p->sum;
for(;p;p=p->next)
{
if (max_1<p->score[0]) max_1=p->score[0];
C语言程序:按成绩从高到低的顺序输出学生信息

按成绩从高到低顺序输出学生信息程序描述:输入并保存10个学生的信息,计算并输出平均分,再按照从低分到高分的顺序输出他们的信息;样例输入:1 啊102 吧93 才84 的75 额 66 飞 57 个 48 好 39 就 210 看 1样例输出:出题人:我们一起的痕迹程序代码int score;};struct student stud[10];int main(void){int i,j,index,sum=0;struct student temp;printf("\nInput the student's number,name and score:\n");for(i=0;i<10;i++){printf("No %d:",i+1);scanf("%d%s%d",&stud[i].num,stud[i].name,&stud[i].score);sum=sum+stud[i].score;}for(i=0;i<9;i++){index=i;for(j=i+1;j<10;j++)if(stud[j].score<stud[index].score)index=i;temp=stud[index];stud[index]=stud[i];stud[i]=temp;}printf("The average:%d\n",sum/10);printf("The student score:\n");for(i=9;i>=0;i--)printf("%d %s %d\n",stud[i].num,stud[i].name,stud[i].score); system("pause"); (提交代码这行需删去)return 0;}我们一起的痕迹。
c语言学生成绩管理系统代码

include<stdio.h>include<string.h>include<stdlib.h>define MAXN 100 //一个班最多的人数define MAXM 2 //成绩的课程门数int R;void input; //1.学生成绩新建void sort; //2.学生成绩插入void load; //3.学生成绩修改void print; //4.学生成绩删除void total; //5.学生成绩统计void search; //6.学生成绩查询void save; //7.学生成绩保存void end; //8.结束struct student{char name20; //保存全班姓名char num12; //保存全班学号float scoreMAXM; //保存全班所有课程成绩float sum; //保存全班每个人的总成绩float avg; //保存每个人的平均成绩};struct student sMAXN;struct http{char subject20; //保存全班所有课程};struct http cMAXM;void main //欢迎首界面{int select;l;system"color fC";printf"\n";printf"\n";printf"\n";printf"\n";printf" ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥\n";printf" \n";printf" \n";printf" 欢迎进入终极一班学生管理系统\n";printf" \n";printf" ︻┳═一 cf ... \n";printf" ┈━═☆甘总管的多塔生活∝╬══→ \n";printf" \n";printf" 凸^-^凸凸^-^凸凸^-^凸凸^-^凸凸^-^凸凸^-^凸凸^-^凸 \n";printf" ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥\n";printf" ╭v╮ ╔══╗╔╗ ╔╗╔╗╭'''╮\n";printf" ^o^╚╗╔╝║║╔═╦╦╦═╗║╚╝╠═╦╦╗~ : ~\n";printf" ~ : ~╔╝╚╗║╚╣║║║║╠╣╚╗╔╣║║║║~v ~\n";printf" ╚══╝╚═╩═╩═╩═╝╚╝╚═╩═╝ \n";printf"\n";printf"\n";printf" 请按任意键进入下一界面\n";printf"------------------------------------------------------------------\n";system"pause";system"color f2";system"color f1";system"color f3";system"color fE";system"color fB";system"color f5";system"color f9";system"color f6";system"color f1";system"color f3";system"color fE";system"color fB";system"color f5";system"color f9";system"color f6";system"color f1";system"color f3";system"color f5";system"color f9";system"color f6";system"color fD";system"pause";system"color fC";system"cls"; //上面是第一个界面while1{system"cls";printf" 欢迎进入终极一班学生管理系统\n";printf" \n";printf" ∝╬══→ 1.学生成绩新建囧rz 欢\n";printf" ::======>> 2.学生成绩插入迎\n";printf" ┈━═☆ 3.学生成绩修改来\n";printf" ∝╬══→ 4.学生成绩删除到\n";printf" ∝╬══→ 5.学生成绩统计英\n";printf" ∝╬══→ 6.学生成绩查询雄\n";printf" ▄︻┻═┳ 7.学生成绩保存联\n";printf" ∝╬══→ 8.退出/撒拉嘿盟\n";printf" ⊙_⊙⊙_⊙⊙_⊙⊙_⊙⊙_⊙⊙_⊙ \n"; printf" \n";printf"\n"; printf"\n 请输入您的选择编号;回车键继续:\n";printf" ---------------------------------------------------------------------------\n";scanf"%d";&select;do{ifselect<1||select>8{printf" 您输入有误;请重新输入;谢谢\n";scanf"%d";&select;}l=select;}whilel<1||l>8;switchselect{case 1:input;break; //1.学生成绩新建case 2:sort; break; //2.学生成绩插入case 3:load; break; //3.学生成绩修改case 4:print; break; //4.学生成绩删除case 5:total;break; //5.学生成绩统计case 6:search;break; //6.学生成绩查询case 7:save;break; //7.学生成绩保存case 8: end;break; //8.结束default:printf" 请按相应数学选择系统功能:";}}}void input //1学生成绩输入成绩模块{int i;j;b;float a=0;printf" 请输入该班同学的人数:\n";printf" 班同学的人数在1~%d之间:\n";MAXN;scanf"%d";&R;do{ifR<1||R>100{printf" 您输入有误;请重新输入;谢谢\n";scanf"%d";&R;}b=R;}whileb<1||b>100;fori=0;i<MAXM;i++{printf" 请输入该班同学的第%d门课程名称为:\n";i+1;scanf"%s"; &ci.subject;}fori=0;i<R;i++{printf" 请输入第%d个同学的姓名:\n";i+1;scanf"%s";&;printf" 请输入第%d个同学的学号:\n";i+1;scanf"%s";&si.num;printf" 请依次输入%d门学科的成绩:\n";MAXM;forj=0;j<MAXM;j++{printf" 请输入课程%s的成绩为:\n";cj.subject;scanf"%f";&si.scorej;a=a+si.scorej;}si.sum=a;si.avg=si.sum/MAXM;a=0;}}void sort //2学生成绩插入成绩模块{int i;j;k;b;float a=0;printf" 请输入要插入的学生的位置1~%d号:\n";R;printf" 第几个学生的位置之后:\n";scanf"%d";&k;do{ifk<1||k>R{printf" 您输入有误;请重新输入;谢谢\n";scanf"%d";&k;}b=k;}whileb<1||b>R;R=R+1;fori=R;i>k;i--{;;strcpysi.num;si-1.num;si.sum=si-1.sum;si.avg=si-1.avg;forj=0;j<MAXM;j++{si.scorej=si-1.scorej;}}printf" 请输入第%d个同学的姓名:\n";k+1;scanf"%s";&;printf" 请输入第%d个同学的学号:\n";k+1;scanf"%s";&sk.num;printf" 请依次输入%d门学科的成绩:\n";MAXM;forj=0;j<MAXM;j++printf" 请输入课程%s的成绩为:\n";&cj.subject;scanf"%f"; &sk.scorej;a=a+sk.scorej;}sk.sum=a;sk.avg=sk.sum/MAXM;}void load //3学生成绩修改{float a=0;hMAXM;int i;j;b;printf" 请输入修改学生的位置1~%d 号: \n";R;scanf"%d";&i;do{ifi<1||i>R{printf" 您输入有误;请重新输入;谢谢\n";scanf"%d";&i;}b=i;}whileb<1||b>R;printf" 请输入%d号的新学号: \n";i;scanf"%s";&;printf" 请输入%d号的新姓名: \n";i;scanf"%s";&si-1.num;forj=0;j<MAXM;j++{printf" 请输入课程%s的成绩为:\n";&cj.subject;scanf"%f";&hj;si-1.scorej =hj;a=a+si-1.scorej;si-1.sum=a;si-1.avg=si-1.sum/MAXM;}void print //4学生成绩删除{int i;j;k;b;printf" 请输入删除学生的位置1~%d 号:\n";R;scanf"%d";&k;do{ifk<1||k>R{printf" 您输入有误;请重新输入;谢谢\n";scanf"%d";&k;}b=k;}whileb<1||b>R;i=k-1;fori;i<R;i++{;si+;strcpysi.num;si+1.num;si.sum=si+1.sum;si.avg=si+1.avg;forj=0;j<MAXM;j++{si.scorej=si+1.scorej;}}R=R-1;printf"删除成功 \n";}void total //5.学生成绩统计{int i;j;float aMAXM;b=0;printf"学号:姓名:课程%s的分数:课程%s的分数: 总成绩:平均成绩:\n";c0.subject;c1.subject;fori=0;i<R;i++{printf"%s%10.2s%16.2f%16.2f%16.2f%16.2f\n";si.num;;si.score0 ;si.score1;si.sum;si.avg;}fori=0;i<MAXM;i++{forj=0;j<R;j++{b=b+sj.scorei;}ai=b/R;b=0;}fori=0;i<MAXM;i++{printf" 全班课程%s的平均分为:%f\n";ci.subject;ai;}printf"排序完毕.\n";system"pause";}void search //6查询成绩模块{int search1;int search2;int select;index;b;while1{printf" \n";printf" 1.按学号查询\n";printf" 2.按姓名查询\n";printf" 0.返回\n";printf" 请输入您的选择编号:\n";printf" \n";scanf"%d";&select;do{ifselect<0||select>2{printf" 您输入有误;请重新输入;谢谢\n";scanf"%d";&select;}b=select;}whileb<0||b>2;switchselect{case 1:index=search1; break;case 2:index=search2;break;case 0:return;}ifindex=-1{int i;printf" \n";printf" 学号:%s \n"; sindex.num;printf" 姓名:%s \n"; ;printf" 总成绩:%f \n"; sindex.sum;printf" 平均成绩:%f \n"; sindex.avg;fori=0;i<MAXM;i++printf" 课程%s的成绩为:%f \n"; ci.subject;sindex.scorei;printf" \n";}else printf"没有这个同学..\n";}}int search1 //按学号查询模块{int i;char s_num12;printf" 请输入要查询的学号:";scanf"%s";&s_num;fori=0;i<MAXN;i++ifstrcmpsi.num;s_num==0break;ifi<MAXNreturn i;else return -1;}int search2 //按姓名查询模块{int i;char s_name10;printf" 请输入要查询的姓名:";scanf"%s";&s_name;fori=0;i<MAXN;i++;s_name==0break;ifi<MAXNreturn i;else return -1;}void save//7保存成绩模块{FILE fp;int i;j;k=0;char filename20;printf"请输入文件名请以 .txt 结束: ";scanf"%s";filename;iffp=fopenfilename; "w"==NULL{printf"打开文件失败.\n";return;}fprintffp; "该班学生数和所修课程数分别为:%d;%d\n\n";R;MAXM; fprintffp; "该班所修的课程有:\n";forj=0;j<MAXM;j++fprintffp; "课程%d:%s\n";1+j;cj.subject;fprintffp; "下面是该班学生信息:\n\n";fori=0;i<R;i++{fprintffp; "学号:%s 姓名:%s\n";si.num;;forj=0;j<MAXM;j++{fprintffp; "%s:%5.2f\n";cj.subject;sk.scorej;}fprintffp; "学生总成绩:%5.2f\n学生平均成绩:%5.2f\n\n";si.sum;si.avg;k++;}fclosefp;printf"\n\n 保存成功\n\n\n\n";fclosefp;printf"保存完毕.\n";}void end //8.结束{system"cls";system"color f4";printf"\n";printf"\n";printf"\n";printf" █◣◢█◣◢█◣◢█▁▁\n";printf"█████████████\\//\n";printf"\n";printf"◢█████████████◣//\\\n";printf"\n";printf"◢███████████████◣ ̄▌ ̄\n";printf"\n";printf" ██●███●██▌ \n";printf"\n";printf" ██◣◢███◣◢██▌\n";printf"\n";printf" ◥█████◤^◥█████◤▌\n";printf"\n";printf" ◥████◣/\◢████◤◢██\n";printf"\n";printf"◢█████████████◢██◤\n";printf"\n";printf"◢████████████████ \n";printf"\n";printf" ██◤◢███◤◥███◣\n";printf"\n";printf" ◢███◤◥███◣\n";printf"\n";printf" ████████ \n";printf"\n";printf"\n";printf"\n\n 谢谢您的使用..BYE\n\n\n\n\n\n\n\n";system"color f2";system"color f1";system"color f3";system"color fE";system"color fB";system"color f5";system"color f9";system"color f6";system"color f1";system"color f3";system"color fE";system"color fB";system"color f5";system"color f9";system"color f6";system"color f1";system"color f3";system"color f5";system"color f9";system"color f6";exit0;}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
问题:有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生数据,要求用结构体解决,打印出3门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课的成绩、平均分数)。
要求用input函数输入10个学生数据;用average函数求总平均分;用max 函数找出最高分的学生数据;总平均分和最高分学生的数据都在主函数中输出。
程序代码:
#include<stdio.h>
typedef struct _Student
{
char num[10];
char name[10];
float score[3];
}Student;
void input(Student msg[],int n)
{
for(int i=0;i<n;i++)
scanf("%s,%s,%f,%f,%f",msg[i].num,msg[i].name,&msg[i].score[0];&msg[i].score[1], &msg[i].score[2]);
}
float average(Student msg[],int n)
{
float sum=0;
for(int i=0;i<n;i++)
sum+=msg[i].score[0]+msg[i].score[1]+msg[i].score[2];
return sum/(n*3);
}
int max(Student msg[],int n)
{
float sum=0;
int m;
for(int i=0;i<n;i++)
{
if((msg[i].score[0]+msg[i].score[1]+msg[i].score[2])>sum)
{
sum=msg[i].score[0]+msg[i].score[1]+msg[i].score[2];
m=i;
}
}
return m;
}
int main()
{
int n,m,ave;
printf("请输入学生总数:\n");
Student msg[n];
input(msg,n);
ave=average(msg,n);
m=max(msg,n);
printf("%d个学生的总平均分为:%f\n",n,ave);
printf("%d个学生中总成绩最高的学生信息为:\n");
printf("%s,%s,%f",msg[m].num,msg[m].name,(msg[m].score[0]+msg[m].score[1]+msg[ m].score[2])/3);
return 0;
}。