利用“顺序查找法”实现长度为10的整型数组a 中是否存在元素 x。c语言
时间: 2024-02-26 17:56:31 浏览: 26
可以使用如下代码实现:
```c
#include <stdio.h>
int main() {
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // 定义长度为10的整型数组a
int x = 5; // 定义要查找的元素x
int i;
for(i = 0; i < 10; i++) {
if(a[i] == x) { // 找到了元素x
printf("找到了元素x,下标为%d\n", i);
break;
}
}
if(i == 10) { // 没有找到元素x
printf("数组中不存在元素x\n");
}
return 0;
}
```
在上述代码中,我们首先定义了一个长度为10的整型数组a,并且定义了要查找的元素x为5。然后,我们使用for循环遍历整个数组a,判断每个元素是否等于x。当找到了元素x时,输出该元素的下标,并使用break语句跳出循环。如果整个数组a遍历完后仍然没有找到元素x,则输出“数组中不存在元素x”。
相关问题
用c语言创建一个数组,有n个元素,顺序按照输入顺序,查找数组中元素是否存在及它的位置
好的,以下是用C语言创建一个数组,有n个元素,顺序按照输入顺序,查找数组中元素是否存在及它的位置的代码:
```
#include <stdio.h>
int main() {
int n;
printf("请输入数组元素个数:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int num;
printf("请输入要查找的整数:");
scanf("%d", &num);
int index = -1;
for (int i = 0; i < n; i++) {
if (arr[i] == num) {
index = i;
break;
}
}
if (index == -1) {
printf("数组中不存在该元素\n");
} else {
printf("数组中该元素的位置为%d\n", index);
}
return 0;
}
```
这段代码首先让用户输入数组元素个数,然后创建一个长度为n的整型数组。接着让用户输入n个整数,并按照顺序存储到数组中。然后让用户输入要查找的整数num,遍历整个数组,如果找到该元素,则记录其位置index,并退出循环。最后判断index是否为-1,如果是,则表示数组中不存在该元素,否则输出该元素在数组中的位置。
顺序存储二分查找c语言,二分查找法(折半查找法)及C语言实现
二分查找法(折半查找法)是一种基于比较目标值和数组中间元素的查找算法。如果目标值等于中间元素,则找到目标值;如果目标值较小,则在数组左半部分继续查找;如果目标值较大,则在数组右半部分继续查找。重复这个过程,直到找到目标值或者查找范围为空。
以下是顺序存储二分查找的C语言实现:
```c
#include <stdio.h>
int binarySearch(int arr[], int n, int key) {
int left = 0, right = n - 1;
while (left <= right) {
int mid = left + (right - left) / 2;
if (arr[mid] == key) {
return mid;
} else if (arr[mid] < key) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1; // 没有找到目标值
}
int main() {
int arr[] = {2, 4, 6, 8, 10};
int n = sizeof(arr) / sizeof(arr[0]);
int key = 8;
int index = binarySearch(arr, n, key);
if (index != -1) {
printf("找到目标值 %d,索引为 %d\n", key, index);
} else {
printf("没有找到目标值 %d\n", key);
}
return 0;
}
```
在上面的代码中,`binarySearch` 函数接收一个整型数组 `arr`,数组长度 `n` 和目标值 `key`,然后返回目标值在数组中的索引。如果没有找到目标值,则返回 `-1`。主函数中的 `arr` 数组已经按照从小到大的顺序排好序了,因此可以直接调用 `binarySearch` 函数进行查找。