c语言一道题,求和和排序函数插入后,么错误,但结果不对
定义一个包括学号、姓名及三门课的成绩和总分的结构体,利用该结构体说明一个包含五个人的结构体数组。从键盘输入五个人的基本信息、计算总分,并根据总分排序输出一个成绩单!
回复 2楼 边小白
#include <stdio.h>void shuru(void);void paixu();void qiuhe();void shuchu(void);typedef struct student{ long studentID; char studentName[10]; char studentSex; long birthday; int score[3];}STUDENT; STUDENT stu[3];void main(){ shuru(); paixu();}void shuru(void){ int i,j; for(i=0;i<3;i++) { printf("请输入第%d个学生的学号 姓名 性别(M or W) 生日 数学成绩 语文成绩 英语成绩\n",i+1); scanf(" %ld",&stu[i].studentID); scanf("%s",&stu[i].studentName); scanf(" %c",&stu[i].studentSex); scanf("%ld",&stu[i].birthday); for(j=0;j<3;j++) { scanf("%d",&stu[i].score[j]); } } qiuhe(); shuchu();}void shuchu(void){ int i,j,sum[60]; printf("学号\t姓名\t性别\t生日\t数学成绩\t语文成绩\t英语成绩\t总分\t"); for(i=0;i<3;i++) printf("%10ld\t%8s\t%3c\t%6d\t%d\t",stu[i].studentID,stu[i].studentName,stu[i].studentSex,stu[i].birthday); for(j=0;j<3;j++) { printf("%3d\t",stu[i].score[j]); } printf("%d\t",sum[i]);} void qiuhe(){ int i,j,sum[60]; for(i=0;i<3;i++) { sum[i]=0; for(j=0;j<3;j++) { sum[i]=sum[i]+stu[i].score[j]; } }}void paixu(void){ struct student temp; int i,j,sum[60]; for(j=0;j<3;j++) { for(i=j+1;i<4;i++) { if(sum[i] <sum[j]) { temp=stu[j]; stu[j]=stu[i]; stu[i]=temp; } } } shuchu();}