#include<stdio.h> #define max 5 /*设定要输入成绩的学生个数*/ double zpj; /*总平均值*/ struct student /*结构体*/ { int num; char name[10]; int score1; int score2; int score3; double pj; }; struct student stu[max],temp; void Input() /*输入函数*/ { int i; for(i=0;i<max;i++) {printf("enter number"); scanf("%d",&stu[i].num); printf("enter name"); scanf("%s",&stu[i].name); printf("enter score1"); scanf("%d",&stu[i].score1); printf("enter score2"); scanf("%d",&stu[i].score2); printf("enter score3"); scanf("%d",&stu[i].score3); } } average() /*求平均值函数*/ {int i; for(i=0;i<5;i++) {stu[i].pj=stu[i].score1+stu[i].score1+stu[i].score3; zpj+=stu[i].pj; } for(i=0;i<5;i++) stu[i].pj/=3; zpj/=max; } MAX() /*找出最高平均值的学生的函数*/ {int i,j; temp=stu[0]; for(i=0;i<max-1;i++) for(j=i+1;j<max;j++) if(stu[i].pj<stu[j].pj) temp=stu[j]; } output() /*输出函数*/ {int i; for(i=0;i<max;i++) printf("num=%d\n name=%s\n score1=%d\n score2=%d\n score3=%d\n aver=%f\n", stu[i].num,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].pj); printf("总平均分=%f\n\n",zpj); printf("平均分最高的学生\nnum=%d\n name=%s\n score1=%d\n score2=%d\n score3=%d\n aver=%f\n", temp.num,temp.name,temp.score1,temp.score2,temp.score3,temp.pj); } void main() /*主函数*/ { Input(); average(); MAX(); output(); } 自己写的 符合你的要求 不足之处还请指教 |
|
来自: lixinhecom > 《C语言》