求大神帮忙看看为什么调用不了sort函数
#include <stdio.h> int input();
void sort(a);
void search(a);
void output(a);
void menu();
struct student
{
char name[10];
int ID;
float score[3];
float aver;
}stud[100];
int input()
{
int i,a;
printf("请输入总人数\n");
scanf("%d",&a);
for (i=0;i<a;i++)
{
printf("请输入第%d的学号:" ,i+1);
scanf("%d",&stud[i].ID);
printf("请输入第%d的姓名:" ,i+1);
scanf("%s",stud[i].name);
printf("请输入第%d的英语成绩,数学成绩,计算机成绩:" ,i+1);
scanf("%f%f%f",&stud[i].score[0],&stud[i].score[1],&stud[i].score[2]);
}
return a;
}
void sort(int a)
{
int q;
int i,j;
for (i=0;i<a;i++)//按学号从小到大排序
for (j=0;j<(a-i);j++)
{
if (stud[i].ID>stud[i+1].ID)
q=stud[i].ID;
stud[i].ID=stud[i+1].ID;
stud[i+1].ID=q;
}
for(i=0;i<a;i++)
{
printf("%d,\n",stud[i].ID);
}
}
void search(int b)
{
int a,i=0;
int low=1;
int high=(b-1);
printf("请输入你要查找的学号\n");
scanf ("%d",&a);
if (a==stud[i].ID) //判断是否为第一个
{
printf("姓名%s",stud[i].name);
printf("三科成绩%f,%f,%f",stud[i].score[0],stud[i].score[1],stud[i].score[2]);
}
else if(a==stud[b-1].ID)//判断是否为最后一个
{
printf("查找人的姓名%s",stud[b-1].name);
printf("查找人的三科成绩%f,%f,%f",stud[b-1].score[0],stud[b-1].score[1],stud[b-1].score[2]);
}
else
{
while (a!=stud[i].ID)
{
i=(low+high)/2;
if (a==stud[i].ID)
{
printf("查找人的姓名%s",stud[i].name);
printf("查找人的三科成绩%f,%f,%f",stud[i].score[0],stud[i].score[1],stud[i].score[2]);
break;
}
if (a>stud[i].ID) low=i+1;
if (a<stud[i].ID) high=i-1;
if (high==low)
{
printf("没有此人\n");
break;
}
}
}
}
void output(int b)
{
float aver=0;
int i;
for(i=0;i<b;i++);
{
aver=(stud[i].score[0]+stud[i].score[0]+stud[i].score[0])/3;
printf("%d,%d,%d,%d",stud[i].score[0],stud[i].score[1],stud[i].score[2],aver);
}
}
void main()
{
int a,k;
menu();
printf("\t请选择系统主菜单功能项:");
scanf("%d",&k);
while(k>=1&&k<=4)
{
switch(k)
{
case 1:input();break; //添加学生成绩;
case 2:search(a);break; //查找单个学生成绩;
case 3:sort(a);break; //按各科成绩对全班同学成绩进行排序;
case 4:output(a);break;
default: break;
}
printf("\t请选择系统主菜单功能项:");
scanf("%d",&k);
}
}
void menu()
{
printf("\t******************************************************************\n");
printf("\t*********************** 学生成绩管理系统 *************************\n");
printf("\t* 功能如下: *\n");
printf("\t*【1】 添加学生成绩 【2】 查找学生成绩 *\n");
printf("\t*【3】 排序学生成绩 【4】 输出学生成绩 *\n");
printf("\t******************************************************************\n");
}