设计一个程序,统计一个班(最多有35人)的学生成绩,要求能实现如四个功能:
(1)由键盘输入每个学生的学号和四门课程的成绩。
(2)计算每个学生的平均分和总分。
(3)按总分从高到低排出名次,并按名次输出每个学生的情况,包括:学号、各科成绩、平均分和总分。
(4)根据用户要求输出某门课程(由键盘输入课程号)成绩在90分以上(含90分)且总分在前五名的学生情况,包括:学号、各科成绩、平均分和总分。
具体要求如下:
(1)每个功能为一个独立的函数。
(2)所有的输入之前都要有提示。
方法说明:
首先,在主函数中定义以下几个数组:
num[35] 整型一维数组,依次(按输入的顺序)存放学生的学号。
a[35][6] 实型二维数组,其中的每一行依次(按输入的顺序)存放一个学生的四门课程(课程号分别为1,2,3,4)的成绩、平均分与总分。
order[35] 整型一维数组,按名次存放学生情况的输入序号,即order[k]存放第k+1名(C语言中数组下标是从0开始)学生情况的输入序号。
然后依次调用四个功能函数。
#include
<
stdio.h
>
#include < conio.h >
#define M 35 /*调试时可将此数值该得小一些*/
#define N 6
int number = 0 ;
void input( int num[M], float a[M][N])
{
int k=0,n;
float a0,a1,a2,a3;
printf("请输入学生信息:\n");
printf("学号\t课程[1]\t课程[2]\t课程[3]\t课程[4]\n");
scanf("%d%f%f%f%f",&n,&a0,&a1,&a2,&a3);
while(n>=0 && k<35)
{
number++;
num[k]=n;
a[k][0]=a0;
a[k][1]=a1;
a[k][2]=a2;
a[k][3]=a3;
k++;
scanf(
#include < conio.h >
#define M 35 /*调试时可将此数值该得小一些*/
#define N 6
int number = 0 ;
void input( int num[M], float a[M][N])
{
int k=0,n;
float a0,a1,a2,a3;
printf("请输入学生信息:\n");
printf("学号\t课程[1]\t课程[2]\t课程[3]\t课程[4]\n");
scanf("%d%f%f%f%f",&n,&a0,&a1,&a2,&a3);
while(n>=0 && k<35)
{
number++;
num[k]=n;
a[k][0]=a0;
a[k][1]=a1;
a[k][2]=a2;
a[k][3]=a3;
k++;
scanf(