08-0. 查找整数(10)
时间限制
400 ms
内存限制
32000 kB
代码长度限制
8000 B
判题程序
Standard
作者
杨起帆(浙江大学城市学院)
本题要求从输入的N个整数中查找给定的X。如果找到,输出X的位置(从0开始数);如果没有找到,输出“Not Found”。
输入格式:
输入在第1行中给出2个正整数N(<=20)和X,第2行给出N个整数。数字均不超过长整型,其间以空格分隔。
输出格式:
在一行中输出X的位置,或者“Not Found”。
输入样例1:5 7 3 5 7 1 9输出样例1:
2输入样例2:
5 7 3 5 8 1 9输出样例2:
Not Found
调用函数方式:
#include <stdio.h> //#define N 20; int main() { int a[20],n,loc,x; scanf("%d %d",&n,&x); loc=search(x,a,n);//sizeof(a)/sizeof(a[0])); //题目里要求输入数组长度,不需要自己求得 if(loc!=-1){ printf("%d",loc); }else{ printf("Not Found"); } return 0; } int search(int key,int a[],int length) { int ret = -1; int i; for(i=0; i<length; i++) { scanf("%d", &a[i]); if(a[i] == key){ ret=i; break; } } return ret; }
普通直接顺序方式:
#include <stdio.h> int main() { int a[20]; int n,x,i; scanf("%d %d",&n,&x); for(i=0;i<n;i++) { scanf("%d",&a[i]); if(x==a[i]){ printf("%d\n",i); break; } } if(x!=a[i]){ printf("Not Found"); } return 0; }