3、有5个学生,每个学生的数据信息包括学号、姓名、4门课程成绩,编程实现学生成绩管理。要求:
(1)用input函数来输入数据,并计算每个学生的平均成绩。
(2)用print函数来输出学生的信息
#include<stdio.h>
struct CLASS
{
int gra1 ;
int gra2 ;
int gra3 ;
int gra4 ;
};
struct STUDENT
{
char name[20] ;
int num ;
struct CLASS grade ;
};
void input ( struct STUDENT *p , int average[5] )
{
int sum ;
for ( int i = 0 ; i < 5 ; i ++ )
{
scanf ("%s %d %d %d %d %d",(p+i)->name , &(p+i)->num , &(p+i)->grade.gra1 , &(p+i)->grade.gra2 , &(p+i)->grade.gra3 , &(p+i)->grade.gra4 );
}
for ( int j = 0 ; j < 5 ; j ++ )
{
sum = (p+j)->grade.gra1 + (p+j)->grade.gra2 + (p+j)->grade.gra3 + (p+j)->grade.gra4 ;
average[j] = sum / 4 ;//因为题目没有要求精度,所以可以直接定义整型变量来计算
}
}
void print ( struct STUDENT *p , int a[5] )
{
for ( int i = 0 ; i < 5 ; i ++ )
{
printf ("%s %d %d %d %d %d %d\n",(p+i)->name , (p+i)->num , (p+i)->grade.gra1 , (p+i)->grade.gra2 , (p+i)->grade.gra3 , (p+i)->grade.gra4 , a[i] ) ;
}
}
int main (void)
{
struct STUDENT stu[5] ;
int e[5] ;
input(stu , e ) ;
print(stu , e ) ;
return 0;
}