涂磊的微博:(急!!)求高手帮忙做道题

来源:百度文库 编辑:高考问答 时间:2024/04/30 09:31:08
编写一个程序实现学员成绩管理:每个学员有3门课的成绩,从键盘输入赏信息,包括学号、姓名三门课成绩,计算出每个学员的平均成绩,按照学员平均成绩由大到小排序。具体要求如下:
1、 通过函数实现单个学员信息的录入功能;
2、 在主函数中调用单个学员信息录入函数,完成全班学员信息的录入。(要求班级人数不超过50个)
3、 通过函数实现排序功能,要求按照学员平均成绩由大到小排序;
4、 在主函数中调用排序函数,并显示排序前后的所有学员的信息。
推荐实现步骤
1、 定义一个结构,保存每个学员的信息,包括学号、姓名、三门课的成绩、平均成绩;
2、 编写main函数
1) 定义一个结构数组,用来保存全班学员的信息;
2) 编写代码进行学员信息的录入
3) 输出 以下提示语句,如:
continue?(Yes or No)
实现多个学员的信息录入,直到用户自己确定退出为止。
3、 实现“显示”函数
1) 函数原型为:Void display(struct student stud[],int count)其中第一个参数为保存全班学员信息的结构数组,第二个参数为学员人数。
2) 要求控制输出格式,参照程序运行界面示例图1
4、 实现“排序”函数
1) 1)函数原型为:Void sort(struct student stud[],int count) 其中第一个参数为保存全班学员信息的结构数组,第二个参数为学员人数。
2) 按照平均成绩由大到小排序;
3) 要求控制输出格式,参照程序运行界示例图

我一上午都在做你这道题目,现在饭还没吃,我已经帮你把输入输出系统和平均分弄好了,已经测试过了,函数方面我找不出错误,恳请高手帮偶。我的QQ24785490,谁会了教我下,谢谢了。

#define R 2 /* ren shu */
#define C 1 /* cheng ji */
#include <conio.h>
struct
{
int num[1];
char name[10];
int chenji[3];
float average;
}b[R];
main()

{
int i,j,k,sum=0;
float max;

clrscr();

for(i=0;i<R;i++)
{
printf("num[%d]=",i);
scanf("%d",&b[i].num);
printf("name[%d]=",i);
scanf("%s",&b[i].name);
printf("chenji:\n");
k=0;
while(k<C)
{
printf("chenji[%d]=",k);
scanf("%d",&b[i].chenji[k]);
k++;
}
}
for(i=0;i<R;i++) /* ci bu fen shi pingju fen */
{
k=0;
while(k++<3)
{
sum+=b[i].chenji[k];
}
b[i].average=sum/3;
}

for(i=0;i<R;i++) /* shu chu system */
{
printf("num=%-4dname=%-4s\n",*b[i].num,&b[i].name);
printf("********************************************************************************\n");
for(j=0;j<C;j++)
{
printf("chenji[%d]=",j);
printf("%-5d",b[i].chenji[j]);
}
printf("average=%f",b[i].average);

printf("\n******************************************************************************\n");
}
}

/* what don't know is error!! */
/* max=sort(struct b[],2);----
printf("average max is %f",max); |----哪错
struct sort(struct c[],int count)--------
{
float t=0.0;
for(i=0;i<count;i++)
for(j=i+1;j<count;j++)
if(p[i].average<p[j].average)
{
t=p[i].average;p[i].average=p[j].average;p[j].average=t;
}
} */

/*end*/

对不起