析全班同学多门功课成绩1.用随机函数生成同学的名字和多门功课的成绩,
比如学生数n=30,课程数m=5,即数学、物理、C语言、地质学、导论,要求成绩在50至100分之间(闭区间);
2.统计优秀同学数,不及格同学数,平均成绩最好、最差的同学;3.按照平均成绩由高到低排序并输出。
#include//随机数:rand() % (b-a+1)+ a,指a到b之间的 #include #include #define n 30 struct student { char name[n][6];//姓名,三个字组成,一个汉字2个字节 float score1;//数学 float score2;//物理 float score3;//C语言 float score4;//地质学 float score5;//导论 float aver;//平均分 }stu[n]; int main () { int i,j,jq1,jq2,k,p,q,min; char xm1[]="啊",xm2[]="住"; char arr[20]; float temp; int yx=0,bj=0;//代表优秀和不及格的学生个数 jq1=(unsigned char)xm1[0]; jq2=(unsigned char)xm2[0]; srand((unsigned)time(NULL)); for(i=0;i (stu[k].aver)) k=j; } } for(i=0;i 60)//设大于60分为优秀 yx++; //优秀学生数目 else bj++;//不及格学生数目 } printf("优秀的的学生人数(平均分60分以上)为:%d 不及格的学生人数为:%dn",yx,bj); printf("------------------------------------------------n"); printf("平均成绩最高的学生信息为:n"); printf("姓名: 数学成绩: 物理成绩: C语言成绩:地质学: 导论成绩: 平均成绩:n"); printf("%s %f %f %f %f %f %fn",stu[k].name[k],stu[k].score1,stu[k].score2,stu[k].score3,stu[k].score4,stu[k].score5,stu[k].aver); printf("------------------------------------------------n"); printf("平均成绩最差的成绩信息为:n"); printf("姓名: 数学成绩: 物理成绩: C语言成绩:地质学: 导论成绩: 平均成绩:n"); printf("%s %f %f %f %f %f %fn",stu[min].name[min],stu[min].score1,stu[min].score2,stu[min].score3,stu[min].score4,stu[min].score5,stu[min].aver); printf("n"); printf("对所有学生的平均成绩排序(由大到小排列)为:n"); for(i=0;i



