编写一个结构体数组查找函数find,若找到则输出该结构体变量,否则输出未找到。
#include <stdio.h>
#include <string.h>
typedef struct {
int num;
char name[20];
int score;
} stu;
int find(stu list[], int list_len, char *find_name)
{
int i,k;
for(i=0;i<list_len;i++)
{
k=strcmp(find_name,list[i].name);
if (k==0)
{
return i;break;
}
else return -1;
}
}
void main(void)
{
int i;
stu a[5] = {
{ 1001, "CHEN", 80 },
{ 1002, "LI", 90 },
{ 1003, "WANG", 70 },
{ 1004, "ZHAO", 80 },
{ 1005, "ZHANG", 60 } };
char b[20];
gets(b);
i = find(a, 5, b);
if (i == -1) {
printf("Nothing\n");
} else {
printf("%d %s %d\n", a[i].num, a[i].name, a[i].score);
}
}