函数题:从结构体数组中查找指定信息的元素
本题要求实现一个函数,可从一个结构体数组data域中查找一个给定的数据元素x,查找成功,返回该元素所在位置的指针;否则,返回NULL。
### 函数接口定义:
c
INFO *SearchIn ( INFO *p, int n, int x );
其中 p 、n和 x 都是用户传入的参数。 p 是一个INFO类型的指针;n是数组元素个数, x 是要查找的数据元素。函数返回 x 在 p所指的数组中具体位置。
### 裁判测试程序样例:
c
#include <stdio.h>
typedef struct _INFO {
int data;
char name[20];
} INFO;
INFO *SearchIn ( INFO *p, int n, int x );
int main()
{
int i, n, x;
INFO info[10], *p;
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d %s", &info[i].data, info[i].name);
scanf("%d", &x);
p = SearchIn ( info, n, x );
if (p != NULL)
printf("%s %d\n", p->name, p->data);
else
printf("Not Found!\n");
return 0;
}
### 输入样例1:
in
3
351 Windows
278 iOS
224 Andriod
278
### 输出样例1:
out
iOS 278
### 输入样例2:
in
3
351 Windows
278 iOS
224 Andriod
235
### 输出样例2:
out
Not Found!
答案:若无答案欢迎评论
### 函数接口定义:
c
INFO *SearchIn ( INFO *p, int n, int x );
其中 p 、n和 x 都是用户传入的参数。 p 是一个INFO类型的指针;n是数组元素个数, x 是要查找的数据元素。函数返回 x 在 p所指的数组中具体位置。
### 裁判测试程序样例:
c
#include <stdio.h>
typedef struct _INFO {
int data;
char name[20];
} INFO;
INFO *SearchIn ( INFO *p, int n, int x );
int main()
{
int i, n, x;
INFO info[10], *p;
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d %s", &info[i].data, info[i].name);
scanf("%d", &x);
p = SearchIn ( info, n, x );
if (p != NULL)
printf("%s %d\n", p->name, p->data);
else
printf("Not Found!\n");
return 0;
}
### 输入样例1:
in
3
351 Windows
278 iOS
224 Andriod
278
### 输出样例1:
out
iOS 278
### 输入样例2:
in
3
351 Windows
278 iOS
224 Andriod
235
### 输出样例2:
out
Not Found!
答案:若无答案欢迎评论