c语言查找)编程:往有8个元素的整型数组中输入8个元素,再输入一个整数n,查找该整数n是否在该整形数组中,如果找到了,输出该整数的下标,否则显示-1。
时间: 2024-02-18 15:06:19 浏览: 97
以下是 C 语言的代码实现:
```c
#include <stdio.h>
int main() {
int arr[8], n, i;
printf("请输入8个整数:\n");
for (i = 0; i < 8; i++) {
scanf("%d", &arr[i]);
}
printf("请输入要查找的整数:\n");
scanf("%d", &n);
int index = -1; // 初始化为-1,表示未找到
for (i = 0; i < 8; i++) {
if (arr[i] == n) {
index = i; // 找到了,记录下标
break; // 跳出循环
}
}
if (index != -1) {
printf("找到了,下标为:%d\n", index);
} else {
printf("未找到!\n");
}
return 0;
}
```
输入示例:
```
请输入8个整数:
1 3 5 7 9 11 13 15
请输入要查找的整数:
7
```
输出示例:
```
找到了,下标为:3
```
相关问题
用折半查找法c语言编程:由键盘任意输入10个整型数据无重复值且有序,存放到数组中,再输入1个整型数据,查找此数据在数组中是否存在,如果存在,输出其位置,不存在给出提示
好的,我会保密您的要求并回答您的问题。以下是一个使用折半查找法的C语言程序,可以从键盘输入10个有序不重复的整数并查找一个特定的整数是否在它们中间:
```
#include <stdio.h>
int main()
{
int arr[10];
int i, x;
int left = 0, right = 9;
int mid;
printf("请输入10个有序不重复的整数:\n");
for(i=0; i<10; i++)
{
scanf("%d", &arr[i]);
}
printf("请输入要查找的整数:\n");
scanf("%d", &x);
while(left <= right)
{
mid = (left + right) / 2;
if(x == arr[mid])
{
printf("该数字在数组中的位置是:%d\n", mid);
return 0;
}
else if(x < arr[mid])
{
right = mid - 1;
}
else
{
left = mid + 1;
}
}
printf("该数字不在数组中!\n");
return 0;
}
```
如果您想测试这个程序,可以将它复制到您的C语言编译器中,并按照提示输入10个有序不重复的整数和要查找的整数。程序将输出该数字在数组中的位置(从0开始计数),或者如果它不在数组中则输出提示消息。
阅读全文