2573 - 指针练习-4
编写一个函数find,其功能是在一个长度为len的整型数组中查找整数num。
函数原型可参考如下:
int find (int *p, int len, int num);
其中,p为指向数组首元素的指针,len为数组中的元素个数,num为待查找的整数。
如果能找到欲查找的数,则函数返回1,找不到则返回0。
编写程序,从键盘输入一个正整数n(1<=n<=100),代表数据元素个数,接着输入n个整数,代表数组元素的初始值,最后输入要查找的数m,调用find函数进行查找,如果能找到该数,则输出"YES",如果找不到,则输出"NO"。
Input
7 13 39 63 23 14 72 61 14
Output
YES
Examples
Input
10 95 6 44 41 72 87 14 98 47 8 50
Output
NO
Solution C
#include<stdio.h> int main() { int find (int *p, int l, int num); int a[100], *p, n, num, b, i; p = a; scanf("%d", &n); for(i=0; i<n; i++) { scanf("%d", &a[i]); } scanf("%d", &num); b = find (p, n, num); if(b==1) printf("YES"); else printf("NO"); } int find (int *p, int l, int num) { int i; for(i=0; i<l; i++) { if(*(p+i)==num) return 1; } return 0; }
Solution C++
#include<stdio.h> int main() { int find (int *p, int l, int num); int a[100], *p, n, num, b, i; p = a; scanf("%d", &n); for(i=0; i<n; i++) { scanf("%d", &a[i]); } scanf("%d", &num); b = find (p, n, num); if(b==1) printf("YES"); else printf("NO"); } int find (int *p, int l, int num) { int i; for(i=0; i<l; i++) { if(*(p+i)==num) return 1; } return 0; }