代碼如下:
struct student{
char name[10];
int subject_1;
int subject_2;
int subject_3;
int subject_4;
int subject_5;
};
void sum1(struct student a[6] ); //每人平均
void sum2(struct student a[6] ); //每科平均
int main(){
struct student stu[6];
int i = 0;
printf("請輸入6名學生信息:\n");
for(i = 0; i < 6; i++)
{
printf("請輸入第%d位學生的信息:\n",i+1);
printf("請輸入學生姓名:");
gets(stu[i].name);
printf("請輸入該學生五門成績:\n");
scanf("%d",&stu[i].subject_1);
scanf("%d",&stu[i].subject_2);
scanf("%d",&stu[i].subject_3);
scanf("%d",&stu[i].subject_4);
scanf("%d",&stu[i].subject_5);
getchar();
}
sum2( stu );
sum1( stu );
return 0;
}
void sum1(struct student a[6] ) //每人平均
{
int b[6];
int i = 0;
for(i = 0; i < 6; i++)
{
b[i] = (a[i].subject_1 + a[i].subject_2 + a[i].subject_3 + a[i].subject_4 + a[i].subject_5)/5;
}
printf("輸出6人每人的平均成績:\n");
for(i = 0; i < 6; i++)
printf("學生%s成績爲:%d\t",a[i].name,b[i]);
printf("\n");
}
void sum2( struct student a[6] ) //每科平均
{
int b[5], i;
b[0] = (a[0].subject_1 + a[1].subject_1 + a[2].subject_1 + a[3].subject_1 + a[4].subject_1 + a[5].subject_1)/6;
b[1] = (a[0].subject_2 + a[1].subject_2 + a[2].subject_2 + a[3].subject_2 + a[4].subject_2 + a[5].subject_2)/6;
b[2] = (a[0].subject_3 + a[1].subject_3 + a[2].subject_3 + a[3].subject_3 + a[4].subject_3 + a[5].subject_3)/6;
b[3] = (a[0].subject_4 + a[1].subject_4 + a[2].subject_4 + a[3].subject_4 + a[4].subject_4 + a[5].subject_4)/6;
b[4] = (a[0].subject_5 + a[1].subject_5 + a[2].subject_5 + a[3].subject_5 + a[4].subject_5 + a[5].subject_5)/6;
printf("輸出平均成績:\n");
for(i = 0; i < 5; i++)
printf("%d\t",b[i]);
printf("\n");
}