本专栏持续输出数据结构题目集,欢迎订阅。
文章目录
- 题目
- 代码
题目
请编写程序,将 n 个整数存入顺序表,对任一给定整数 x,查找其在顺序表中的位置。
输入格式:
输入首先在第一行给出正整数 n(≤10^4 );随后一行给出 n 个 int 范围内的不重复的整数,数字间以空格分隔;最后一行给出待查找的元素 x,也是 int 范围内的整数。
输出格式:
在一行中输出 x 在顺序表中的位置,即数组下标。如果没找到,则输出 -1。注意数组下标从 0 开始。
输入样例 1:
5
1 2 3 4 5
4
输出样例 1:
3
输入样例 2:
5
4 3 6 8 0
1
输出样例 2:
-1
代码
#include <stdio.h>#define MAX_SIZE 10000int main() {int n, arr[MAX_SIZE], x;scanf("%d", &n);// 读取n个整数存入数组for (int i = 0; i < n; i++) {scanf("%d", &arr[i]);}scanf("%d", &x);// 线性查找x的位置int pos = -1;for (int i = 0; i < n; i++) {if (arr[i] == x) {pos = i; // 找到元素,记录位置并跳出循环break;}}printf("%d\n", pos);return 0;
}