c语言结构体求平均值
已有学生成绩,求用c语言编写一个结构体程序,在不同操作下能输出每个人的平均成绩或者每一科的平均成绩。急求,感谢!!!
给你个参考
#include <stdio.h>
#include <string.h>
#define N 3 //学生数
#define M 5 //课程数
typedef struct student
{
char name[11];
char no[5];
int sex;
double score[M]; //
} STUDENT;
STUDENT stu[N];
void input() //输入
{
int i,j;
for(i=0; i<N; i++)
{
printf("请输入%d位学生的学号:",i+1);
scanf("%s",stu[i].no);
printf("请输入%d位学生的姓名:",i+1);
scanf("%s",stu[i].name);
printf("请输入%d位学生的姓别(0--女,1--男):",i+1);
scanf("%s",&stu[i].sex);
for(j=0; j<M; j++)
{
printf("请输入%d位学生的课程%d的成绩:",i+1,j+1);
scanf("%lf",&stu[i].score[j]);
}
}
}
void output_avr() //输出每个人的平均成绩
{
int i,j;
double sum;
for(i=0; i<N; i++)
{
sum=0;
for(j=0; j<M; j++)
sum+=stu[i].score[j];
printf("%s 的平均成绩为 %.2lf
",stu[i].name,sum/M);
}
}
void output_avr1() //输出每门课的平均成绩
{
int i,j;
double sum;
for(j=0; j<M; j++)
{
sum=0;
for(i=0; i<N; i++)
sum+=stu[i].score[j];
printf("课程%d 的平均成绩为 %.2lf
",j+1,sum/M);
}
}
int main()
{
input();
output_avr();
output_avr1();
return 0;
}