关于定义结构体数组

来源:百度知道 编辑:UC知道 时间:2024/05/16 20:11:11
设某组有4 个人,填写如下的登记表,除姓名、学号外,还有三科成绩,编程实
现对表格的计算,求解出每个人的三科平均成绩,求出四个学生的单科平均,并按平均成绩
由高分到低分输出。
#include <stdlib.h>
#include <stdio.h>
struct stu
{
char name[20];
long number;
float score[4];
} ;
m a i n ( )
{
void input(); / *函数声明* /
void aver();
void order();
void output();
void out_row();
struct stu stud[4]; / * 定义结构体数组* /
float row[3];
i n p u t ( s t u d , 4 ) ; / *依此调用自定义函数* /
a v e r ( s t u d , 4 ) ;
o r d e r ( s t u d , 4 ) ;
o u t p u t ( s t u d , 4 ) ;
o u t _ r o w ( s t u d , 4 ) ;
}
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
void input(arr,n)
struct stu arr[];
int n;
{ int i,j;
char temp[30];
for (i=0;i<n;i++)
{
printf("\nInput Name,Number,English,Mathema,Physic\n");
g e t s ( a r r [ i ] . n a m e ) ;
g e t s ( t e m p ) ;
a r r [ i ] . n u m b e

/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * /
void input(arr,n) /*定义了input(arr,n)函数*/
struct stu arr[];
int n;
{ int i,j;
char temp[30];
for (i=0;i<n;i++)
{
printf("\nInput Name,Number,English,Mathema,Physic\n");
g e t s ( a r r [ i ] . n a m e ) ;
g e t s ( t e m p ) ;
a r r [ i ] . n u m b e r = a t o l ( t e m p ) ;
f o r ( j = 0 ; j < 3 ; j + + )
{
g e t s ( t e m p ) ;
a r r [ i ] . s c o r e [ j ] = a t o i ( t e m p ) ;
} ;
}
}
/ * * * * * * * * * * * * * * * * * * * * * * * /
void aver(arr,n) /*定义了aver(arr,n)函数*/
struct stu arr[];
int n;
{
int i,j;
f o r ( i = 0 ; i < n ; i + + )
{
a r r [ i ] . s c o r e [ 3 ] = 0 ;
f o r ( j = 0 ; j < 3 ; j + + )
a r r [ i ] . s c o r e [ 3 ] = a r r [ i ] . s c o r e [ 3 ] + a r r [ i ] . s c o r e [ j ] ;
arr[i].score[3