这是作业要求
#define N 80 //定义符号常量
main():输入学生的人数n,调用其他函数,实现对学生成绩的管理。定义变量及数组:
int n; //学生人数
char name[N][10]; //存放学生姓名
int num[N]; //存放学生学号
double score[N][5]; //存放学生四门课的成绩及平均分
void data_input(char name[][10],int num[],score[][5],int n)
功能:输入学生基本信息、成绩信息
void data_output(char name[][10],int num[],score[][5],int n)
功能:输出学生基本信息、成绩信息
void data_sort(char name[][10],int num[],score[][5],int n)
功能:对学生的所有信息按平均分从高到低排序
void data_search(char name[][10],int num[],double score[][5],
int n,int num)
功能:根据学号,查询该学生的基本信息及成绩信息
我编写的程序
#include
#define N 80
struct student
{
int num[N];
char name[N][10];
double score[N][5];
}struct student stu[n];
void data_input(name[][10],num[],score[][5],n) //输入学生信息
{
int i,j;
for(i=0;i
scanf("%d%s",&stu[i].num,stu[i].name);
for(j=0;j<5;j++)
scanf("%f",&stu[i].score[j][5]);
}
void data_output(name[][10],num[],score[][5],n) //输出学生信息
{
int k;
for(k=0;k
print("%d%s%f\n",stu[k].num,stu[k].name,stu.score);
}
void data_sort(name[][10],num[],score[][5],n) //按平均分从高到低排序
{
double i,j,k;
for(i=0;i
for(j=0;j
if(score[j][5]
{
k=j;
stu[j]=stu[j+1];
stu[j+1]=stu[k];
}
}
void data_search(name[][10],num[],score[][5],n,num) //根据学号,查询该学生的基本信息及成绩信息
{
int i,j;
scanf("%d",&i);
for(j=0;j
if(stu[j].num==i)
printf("%d %s %f",stu[j].num,stu[j].name,stu[j].score);
}
main()
{
int n,j;
char name[N][10];
int num[N];
double score[N][5];
scanf("%d",&n); //学生人数
struct student stu[n];
printf("数据输入-------1\n 成绩排序-------2\n 成绩查询-------3\n 数据输出-------4\n 程序退出-------5\n");
scanf("%d",&j);
switch(j)
{
case 1:data_input(name[n][10],num[n],score[n][5],n);
case 2:data_output(name[n][10],num[n],score[n][5],n);
case 3:data_sort(name[n][10],num[n],score[n][5],n);
case 4:data_search(name[n][10],num[n],score[n][5],n,num);
case 5:break;
}
}