求助C程序设计问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 07:34:25
编程序完成学生成绩管理系统

要求:学生成绩与姓名录入。求总成绩及平均成绩并输出。

按从高到低成绩排列并和对应姓名并列输出。(只能用c语言完成,不能用c++)。

谢谢大哥大姐了,如果调试成功了的话,麻烦把编译文件发到我邮箱pig4906@163.com
再次感谢....
baihacker 的程序做的很仔细,但我没有把题目说清楚。

学生成绩是三科(CH,MATH,ENG)成绩,平均分是各同学的三科成绩的平均成绩,总成绩是个同学的三科总成绩。

输出格式为:姓名 CH成绩 MATH成绩 ENG成绩 平均成绩 总成绩
要按照总成绩从高到低的顺序排列。

谢谢各位帮我看看。baihacker能重新帮我做做吗?无限感激啦。

#include<stdio.h>

typedef struct student
{
int c;
int m;
int e;
int sum;
float ave;
char name[32];/*结构体中的字符串赋值是strcpy*/
}STUDENT;

STUDENT s[20];/*记录所有信息的数组*/
int n;/*学生数*/
void show(STUDENT stu);
void adjust(int j);/*将s[0]到s[j]进行排序,其中s[0]到s[j-1]已经按不升序排列*/
void sort(void);/*插入排序*/

void main()
{
int i;
printf("input the number of student:");
scanf("%d", &n);/*n>20时出错*/

for (i=0;i<n;i++)
{
printf("student %d :\n",i+1);

printf("name:");
scanf("%s", &s[i].name);

printf("Chinese:");
scanf("%d", &s[i].c);

printf("Maths:");
scanf("%d", &s[i].m);

printf("English:");
scanf("%d", &s[i].e);

s[i].sum = s[i].c+s[i].m+s[