PTA 7-455 sdut-C语言实验-顺序查找
分数 12
作者 马新娟
单位 山东理工大学
输入n个正整数(1<= n <= 100),查找n个数中是否存在数x。如果存在则返回第一次出现的下标,否则输出“NO”。
输入格式:
第一行输入n,然后输入n个正整数。
第二行输入x。
输出格式:
如果数列中存在x则输出其下标,否则输出“NO”。
输入样例1:
10 7 0 9 4 3 8 2 1 5 4
6
输出样例1:
NO
输入样例2:
5 8 7 8 3 9
8
输出样例2:
0
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <stdio.h>
int main(){
int n;
scanf("%d", &n);
int NumbArr[n], x;
for(int i = 0; i < n; i++){ //遍历数组
scanf("%d", &NumbArr[i]);
}
scanf("%d", &x);
int flag = 0, value; //flag标记是否有x存在数组中, value接受下标值
for(int i = 0; i < n; i++){
if(x == NumbArr[i]){ //判断是否存在x
flag = 1;
value = i;
break;
}
}
if(flag == 1) //存在
printf("%d\n", value);
else //不存在
printf("NO\n");
return 0;
}
解题思路:
首先储存数据,然后输入一个x值,接下来判断是否存在x值再数组中,给定一个标记(标记是否存在)和一个接收下标的值value;最后按照要求输出
归属知识点:
数组
循环结构
条件判断