当前位置:首页 >> 其它课程 >>

100个学生5门课-计算平均成绩


有一个班 100 个学生,5 门课程。①求第一门课程的平均分;②找出有两门以上课程不及格 的学生,输出他们的学号和全部课程成绩及平均成绩;③找出平均成绩在 90 分以上或全部 课程成绩在 85 分以上的学生。分别编 3 个函数实现以上 3 个要求。 #include<stdio.h> #define N 100 #define M 5 typedef struct//定义学生结构体数组 {char name[15]; float score[M]; float ave;}ST; ST stu[N]; int i,j; void average(ST stu[])//求平均成绩函数 {for(i=0;i<N;i++) {stu[i].ave=0; for(j=0;j<M;j++) {stu[i].ave+=stu[i].score[j];} stu[i].ave/=M;}} void nopass(ST stu[])//找出有两门成绩不合格的学生并输出相应信息 {int count; printf("\n 有两门成绩不合格的学生有:\n"); printf("姓名\t 成绩 1\t 成绩 2\t 成绩 3\t 成绩 4\t 成绩 5\t 平均成绩\n"); for(i=0;i<N;i++) {count=0; for(j=0;j<M;j++) if(stu[i].score[j]<60) count++; if(count==2) {printf("%s\t",stu[i].name); for(j=0;j<M;j++) {printf("%.2f\t",stu[i].score[j]);} printf("%.2f\n",stu[i].ave);}}} void select(ST stu[])//找出满足条件的学生并输出 {int flag; printf("\n 平均成绩在 90 分以上或者全部成绩在 85 分以上的学生有:\n"); printf("姓名\t 成绩 1\t 成绩 2\t 成绩 3\t 成绩 4\t 成绩 5\t 平均成绩\n"); for(i=0;i<N;i++) {flag=0; if(stu[i].ave>=90) {flag=1;} else {for(j=0;j<M;j++) {if(stu[i].score[j]<85)break;} if(j>=M)flag=1;}

if(flag==1) {printf("%s\t",stu[i].name); for(j=0;j<M;j++) {printf("%.2f\t",stu[i].score[j]);} printf("%.2f\n",stu[i].ave);} }} void main() {for(i=0;i<N;i++)//输入学生信息 {printf("请输入第%d 个学生的姓名:",i+1); scanf("%s",stu[i].name); for(j=0;j<M;j++) {printf("请输入该生第%d 门成绩:",j+1); scanf("%f",&stu[i].score[j]);} } average(stu);//运行函数 nopass(stu); select(stu); }


相关文章:
更多相关标签: