求助如何实现查询功能
需要实现查询相关同学的成绩。但是想不到。请各位帮帮忙。#include <stdio.h>
struct student
{
char xh[10];
char name[10];
int x1;
int x2;
int x3;
int x;
}std[10];
void sr()
{
int i;
for (i=0;i<10;i++)
{
printf ("请输入学号");
gets (std[i].xh);
printf ("请输入姓名");
gets (std[i].name);
printf ("请输入语文");
scanf ("%d",&std[i].x1);
printf ("请输入数学");
scanf ("%d",&std[i].x2);
printf ("请输入英语");
scanf ("%d",&std[i].x3);
getchar ();
}
}
void sc()
{
int i;
printf ("学号 姓名 语文 数学 英语 平均分\n");
for (i=1;i<10;i++)
printf ("%-6s%-6s%-6d%-6d%-6d%-6d\n",std[i].xh,std[i].name,std[i].x1,std[i].x2,std[i].x3,std[i].x);
}
void sc2()
{
int i,j,n;
printf ("名次 姓名 总分\n");
for (i=0;i<3;i++)
{
for (j=0,n=0;j<10;j++)
if (std[j].x!=0)
if (std[n].x<std[j].x)
n=j;
printf ("第%d名 %-7s%-4d\n",i+1,std[n].name,std[n].x);
std[n].x=0;
}
}
void main()
{
int i;
char name[10];
sr();
for (i=0;i<10;i++)
std[i].x=(std[i].x1+std[i].x2+std[i].x3)/3;
sc();
sc2();
}