有10个数存放在一个数组中,输入一个数,要求找出该数是数组中第几个元素的值,如果该数不在数组中,则输出“无此数” ,并且可以实现连续查找。10个数用赋初值的方法在程序中给出,要找的数用scanf函数输入。
时间: 2024-12-24 17:31:08 浏览: 7
这是一个简单的查找算法题目,通常可以用循环遍历数组的方式来解决。以下是用C语言的一个基本示例:
```c
#include <stdio.h>
int main() {
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // 初始化数组
int target; // 要查找的数
int index = -1; // 初始化索引为-1表示未找到
printf("请输入你要查找的数:");
scanf("%d", &target);
for (int i = 0; i < 10; i++) {
if (arr[i] == target) {
index = i;
break; // 找到就退出循环
}
}
if (index != -1) {
printf("数字 %d 在数组中的位置是 %d.\n", target, index + 1);
} else {
printf("无此数.\n");
}
return 0;
}
```
在这个程序中,用户输入目标值后,程序会逐个检查数组元素,如果找到匹配项,它会立即停止搜索并返回对应的位置。如果遍历完整个数组都没找到目标,就会输出“无此数”。
相关问题
有15个数存放在一维数组中,输入一个数,要求找出该数是数组中的第几个元素的值
可以使用循环遍历数组,找到该数对应的下标。具体实现如下(假设输入的数为num,存放在数组arr中):
```python
num = int(input("请输入要查找的数:"))
for i in range(len(arr)):
if arr[i] == num:
print("输入的数在数组中的下标为:", i)
break
else:
print("输入的数不在数组中")
```
解释一下:我们使用一个for循环遍历数组中的每个元素,如果找到了和输入数相等的元素,就输出该元素在数组中的下标并跳出循环(使用了break语句)。如果循环正常结束(即没有找到相等的元素),就说明输入的数不在数组中,输出提示信息。
c语言15个数存放在一维数组中,输入一个数,要求找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“No existence”。
可以通过遍历数组的方式查找该数是否在数组中出现,若出现则返回该数的下标,否则返回“No existence”。下面是相应的 C 代码实现:
```c
#include <stdio.h>
int main() {
int arr[15] = {2, 5, 6, 7, 8, 9, 12, 15, 18, 20, 25, 30, 35, 40, 45};
int num, i;
printf("请输入一个数:");
scanf("%d", &num);
for (i = 0; i < 15; i++) {
if (arr[i] == num) {
printf("%d 是数组中第 %d 个元素\n", num, i+1);
return 0;
}
}
printf("No existence\n");
return 0;
}
```
在这个程序中,我们假设数组已经有序,如果数组无序,则需要先进行排序再进行查找,时间复杂度为 O(nlogn)。
阅读全文