永发信息网

c语言编写程序,输入成绩,可以求总分,平均分,排序,根据学号输出成绩?

答案:2  悬赏:70  手机版
解决时间 2021-03-05 22:31
c语言编写程序,输入成绩,可以求总分,平均分,排序,根据学号输出成绩?
最佳答案
#include "stdio.h"
#include "string.h"
#define N 5
#define M 3
struct stu
{ char name[10];
char xh[10];
int score[M];
int total;
double avg;
}s[N];
input( struct stu s[N] )
{ int i,j;
printf("请输入学生姓名\n");
for(i=0;i scanf("%s",&s[i].name);
printf("请输入学生学号\n");
for(i=0;i scanf("%s",&s[i].xh);

printf("请输入M门课的成绩\n");
for(i=0;i for(j=0;j scanf("%d",&s[i].score[j]);
}
jisuan(struct stu s[N] )
{ int i,j;

for(i=0;i for(j=0;j {
s[i].total+=s[i].score[j];
s[i].avg=s[i].total/3.0;
}
}
print(struct stu s[N] )
{ int i,j;
printf("打印N个学生的所有数据\n");
printf("姓名\t学号\t语文\t数学\t英语\t总分\t平均分\n");
for(i=0;i { printf("%s\t%s\t",s[i].name,s[i].xh );
for(j=0;j printf("%d\t",s[i].score[j]);
printf("%d\t%f\n",s[i].total,s[i].avg);
}
}
printmax(struct stu s[N] )
{ int i,j,k,base,max=0 ;
base=s[0].total;
for(i=0;i if(s[i].total>=base)
{ max=s[i].total;
k=i;
}
printf("最高分数的学生是\n");
printf("姓名\t学号\t语文\t数学\t英语\t总分\t平均分\n");
printf("%s\t%s\t",s[k].name,s[k].xh );
for(j=0;j printf("%d\t",s[k].score[j]);
printf("%d\t%f\n",s[k].total,s[k].avg);

}
main()
{ input(s);
jisuan(s);
print(s);
printmax(s);
}
全部回答
#include int main() { int student[10],sum=0; float average; //这里一定要注意,否则除法会取整 int i,count=0; for(i=0;i<=9;i++) { scanf("%d",&student[i]); sum=sum+student[i]; } average=sum/10.0; //同样是为了除法不取整 for(i=0;i<=9;i++) { if(student[i]
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯