#include<stdio.h>
#define N 3
void shuru(struct stu stu2[N]);//输入函数
void display(struct stu stu2[N]);//显示函数
void paixu(struct stu stu2[N]);//排序函数
struct stu//学生结构
{
int num;//学生学号
char name[50];//学生姓名
float sco[3];//3门课成绩
float ave;//平均成绩
}stu1[N];
void main()
{
struct stu stu1[N];
char ch;
printf("请输入学员信息:\n");
shuru(stu1);//调用输入函数
printf("排序前的学员信息如下:\n");
display(stu1);//调用显示函数
printf("排序后的学员信息如下:\n");
paixu(stu1);//调用排序函数
printf("是否要插入学员?<Y/N>:");
ch=getchar();
if(ch=='Y'||ch=='y')
{
insert(stu1);
}
}
void shuru(struct stu stu2[N])//输入函数
{
int i,k;
char ch='y';
if(ch=='y');
for(i=0;i<N;i++)
{
printf("学号:");
scanf("%d",&stu2[i].num);
printf("\n");
printf("姓名:");
fflush(stdin);
gets(stu2[i].name);
printf("\n");
printf("三门成绩\n");
for(k=0;k<3;k++)
{
printf("成绩%d: ",k+1);
scanf("%f",&stu2[i].sco[k]);
stu2[i].ave=(stu2[i].sco[0]+stu2[i].sco[1]+stu2[i].sco[2])/3;
}
printf("\n");
printf(" 是否继续?<Y/N>:");
fflush(stdin);
ch=getchar();
printf("\n");
}
}
void display(struct stu stu2[N])//显示函数
{
int i;
printf("学号 姓名 平均成绩\n");
for(i=0;i<N;i++)
{
printf("%d %s %.2f\n",stu2[i].num,stu2[i].name,stu2[i].ave);
}
}
void paixu(struct stu stu2[N])//排序函数
{
int i,j;
struct stu temp;
for(i=0;i<N;i++)
{
for(j=0;j<N-i-1;j++)
{
if(stu2[j].ave<stu2[j+1].ave)
{
temp=stu2[j];
stu2[j]=stu2[j+1];
stu2[j+1]=temp;
}
}
}
for(i=0;i<N;i++)
{
printf("%d %s %.2f\n",stu2[i].num,stu2[i].name,stu2[i].ave);
}
}
以前写的,懒的写了 你在写个查找程序就行啦.