C语言学号科目成绩请帮忙设计
来源:百度知道 编辑:UC知道 时间:2024/06/08 17:03:23
学号 C课程成绩 英语成绩
101000 83 54
101001 40 79
101002 65 88
101003 54 76
101004 84 97
101005 76 87
求1、从键盘输入数据后首先正确显示数据
2、计算并显示每门课的平均成绩
3、找到并显示每门课最高、最低分和对应学号
4、计算每人平均成绩
5、把每人平均成绩从高到低排列
6、把每门课成绩有低到高按顺序排列,对应学号
每多少分 请大家见谅 谢谢高手指点!
101000 83 54
101001 40 79
101002 65 88
101003 54 76
101004 84 97
101005 76 87
求1、从键盘输入数据后首先正确显示数据
2、计算并显示每门课的平均成绩
3、找到并显示每门课最高、最低分和对应学号
4、计算每人平均成绩
5、把每人平均成绩从高到低排列
6、把每门课成绩有低到高按顺序排列,对应学号
每多少分 请大家见谅 谢谢高手指点!
下面是我编的程序,编得不怎么好,望多多指教。
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
typedef struct
{long num;
float c;
float eng;
}stud;
void print(stud *p,int n)
{int i;
printf("\nthere are %d records:",n);
printf("\nNUM C ENG\n");
for(i=0;i<n;i++,p++)
printf("%5ld %3f %3f\n",p->num,p->c,p->eng);
}
void everage_course(stud *p,int n)
{int i;
float sub1=0,sub2=0;
printf("\nthe everage score of every course");
for(i=0;i<n;i++,p++)
{sub1+=p->c;
sub2+=p->eng;
}
printf("\n%4f\n%4f",sub1/n,sub2/n);
}
void find(stud M[],int n)
{int i;
long A[4];
float max1=0,max2=0,min1=0,min2=0;
for(i=0;i<n;i++)
{
if(max1<M[i].c) {max1=M[i].c;A[0]=M[i].num;}
if(min1