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

问题描述:

C语言 有一个班4个学生,5门课程分别用函数求:
1.从键盘上输入4名学生的学号、姓名和每门课程的成绩;2.计算每名学生的平均成绩;3.输出每名学生的考试成绩;4、输出按平均成绩由高到低排列的成绩单.(要求使用结构图数组)
1个回答 分类:综合 2014-10-09

问题解答:

我来补答
按照你的要求,代码编译调试过了.修改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;
}
 
 
展开全文阅读
剩余:2000
下一页:数学函数值域