作业帮 > 综合 > 作业

C语言 有一个班4个学生,5门课程分别用函数求:

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/22 01:36:31
C语言 有一个班4个学生,5门课程分别用函数求:
1.从键盘上输入4名学生的学号、姓名和每门课程的成绩;2.计算每名学生的平均成绩;3.输出每名学生的考试成绩;4、输出按平均成绩由高到低排列的成绩单.(要求使用结构图数组)
按照你的要求,代码编译调试过了.修改N便可以随意输入多少个同学,默认为4.
输入格式为:
tom 75 60 35 20 15
#include
#include
#include
#define N 4
struct Boy{
char name[20];
int c1;
int c2;
int c3;
int c4;
int c5;
int sum;
};
typedef struct Boy boy;
boy classmate[N];
void initboy(boy * mem,int num);
void sort_print(boy* mem,int num);
int cmp ( void const* b1 ,void const * b2);
int main(int argc, char *argv[]){
initboy(classmate,N);
sort_print(classmate,N);
system("PAUSE");
return EXIT_SUCCESS;
}
void initboy(boy * mem,int num){
int i=0;
int error=0;
printf("总共 %d 同学\n",num);
for (i=0;iname);
error+=scanf("%d",&mem->c1);
error+=scanf("%d",&mem->c2);
error+=scanf("%d",&mem->c3);
error+=scanf("%d",&mem->c4);
error+=scanf("%d",&mem->c5);
if(error!=6) {
fflush(stdin);printf("input error \n重新");
goto res;}
mem->sum= ( mem->c1 + mem->c2 + mem->c3 +
mem->c4 + mem->c5)/5;
mem++;
}
}

void sort_print(boy* mem,int num){
int i=0;
printf("\n\n%10s%5s%5s%5s%5s%5s%5s\n", "name","c1","c2",
"c3","c4","c5","av");
for (;i a2->sum)
return -1;
if (a1->sum < a2->sum)
return 1;
return 0;
}