数据结构:基于C语言实现给定含有10个整型数据元素的查找表,采用顺序查 找方法查找,分别实现一次查找成功和查找不成功; 成功是在屏幕上显示:查找成功,比较XX次。不成功 时显示:“查找失败
时间: 2023-12-10 18:38:13 浏览: 31
以下是基于C语言实现的顺序查找方法:
```c
#include <stdio.h>
int sequential_search(int arr[], int n, int x) {
int i;
for (i = 0; i < n; i++) {
if (arr[i] == x) {
return i; // 返回元素在数组中的下标
}
}
return -1; // 没有找到元素,返回-1
}
int main() {
int arr[10] = {1, 3, 5, 7, 9, 2, 4, 6, 8, 10};
int x = 5; // 要查找的元素
int result = sequential_search(arr, 10, x);
if (result == -1) {
printf("查找失败\n");
} else {
printf("查找成功,比较%d次\n", result + 1);
}
return 0;
}
```
运行结果:
```
查找成功,比较3次
```
如果要查找的元素不在数组中,运行结果为:
```
查找失败
```
相关问题
数据结构:基于C语言实现给定含有10个整型数据元素的查找表,采用顺序查找方法查找,分别实现一次查找成功和查找不成功;成功是在屏幕上显示:查找成功,比较XX次。不成功时显示:“查找失败“(数据从键盘输入)
这里是一个示例代码,基于C语言实现顺序查找:
```c
#include <stdio.h>
int main() {
int arr[10]; // 定义含有10个整型数据元素的数组
int i, x, found = 0, cmp = 0; // 定义变量i、x、found、cmp
printf("请输入10个整数:\n");
for(i = 0; i < 10; i++) {
scanf("%d", &arr[i]); // 从键盘输入10个整数
}
printf("请输入要查找的整数:");
scanf("%d", &x); // 输入要查找的整数x
for(i = 0; i < 10; i++) {
cmp++; // 记录比较次数
if(arr[i] == x) {
found = 1; // 找到了要查找的整数
break;
}
}
if(found) {
printf("查找成功,比较%d次。\n", cmp); // 查找成功
} else {
printf("查找失败。\n"); // 查找失败
}
return 0;
}
```
这段代码中,我们先定义了一个含有10个整型数据元素的数组 `arr`。然后通过循环,从键盘输入10个整数,并存储到数组中。接着,我们输入要查找的整数 `x`,并进行顺序查找。在查找过程中,我们记录比较次数 `cmp`。如果在数组中找到了要查找的整数 `x`,则将变量 `found` 设置为1,并跳出循环。最后,根据 `found` 的值判断查找是否成功,并分别输出相应的结果。
数据结构实现顺表下的顺序查找的代码:基于C语言,给定含有10个整型数据元素的查找表,采用顺序查找方法查找,分别实现一次查找成功和查找不成功;成功是在屏幕上显示:查找成功,比较XX次。不成功时显示:“查找失败“(数据从键盘输入)
以下是基于C语言的顺序查找代码:
```c
#include <stdio.h>
#define MAX_SIZE 10 // 定义查找表的最大大小
int search(int arr[], int n, int key);
int main() {
int arr[MAX_SIZE]; // 定义一个大小为MAX_SIZE的整型数组
int key, index;
// 输入查找表中的元素
printf("请输入%d个整数:\n", MAX_SIZE);
for (int i = 0; i < MAX_SIZE; i++) {
scanf("%d", &arr[i]);
}
// 输入要查找的元素
printf("请输入要查找的整数:\n");
scanf("%d", &key);
// 进行顺序查找
index = search(arr, MAX_SIZE, key);
// 根据查找结果输出信息
if (index != -1) {
printf("查找成功,比较%d次\n", index + 1);
} else {
printf("查找失败\n");
}
return 0;
}
int search(int arr[], int n, int key) {
for (int i = 0; i < n; i++) {
if (arr[i] == key) {
return i; // 返回查找到的位置
}
}
return -1; // 表示未找到
}
```
这个代码中,`search`函数实现了顺序查找的过程,它依次比较查找表中的每一个元素,若找到则返回该元素的下标,否则返回-1表示未找到。在主函数中,先输入查找表中的元素,然后输入要查找的元素,最后调用`search`函数进行查找,并根据查找结果输出相应的信息。