本專欄持續輸出數據結構題目集,歡迎訂閱。
文章目錄
- 題目
- 代碼
題目
請編寫程序,將 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;
}