顺序表的查找--简单

源程序:

#include <stdio.h>
#define MaxSize 8
typedef struct
{
int stuno;
char stuname[20];
}TableElem;

TableElem stu[]={{1001,"zhang"},{1009,"wang"},{2005,"sun"},{2008,"liu"},{3001,"zheng"},
{3005,"lai"},{4003,"qin"},{4400,"ren"}};

typedef struct
{
TableElem elem[MaxSize];
int n;
}SqTable;

int searchsqtable(SqTable T,int key) //查找函数
{
T.elem[0].stuno=key;
int i=T.n;
while(T.elem[i].stuno!=key)
i--;
return i;
}

int main()
{
SqTable seq;
for(int i=0;i<MaxSize;i++)
{
seq.elem[i]=stu[i];
}
seq.n=MaxSize;
int kk,mm;
printf("请输入要查找的学号:");
scanf("%d",&kk);
mm=searchsqtable(seq,kk); //调用查找函数
printf("此人在顺序表中的位置是:%d ",mm+1);
printf("%d号的姓名为:%s ",mm+1,seq.elem[mm].stuname);
return 1;
}

运行结果:

原文地址:https://www.cnblogs.com/duanqibo/p/11903581.html