数组中有6个数,输入一个数,找出这个数是数组中第几个数,如果没找到,则显示“not found”
循环历遍+if
供参考:
#include <stdio.h>
int main()
{
int a[6] = { 5, 7, 1, 9, 18, 3 }, i, x;
scanf("%d", &x);
for (i = 0; i < 6; i++)
if (a[i] == x) break;
if (i < 6)
printf("No:%d", i);
else
printf("not found");
return 0;
}
输入在第一行中给出两个正整数N(≤20)和X,第二行给出N个整数。数字均不超过长整型,其间以空格分隔。
要在数组中找到一个数的位置,可以采用遍历数组的方法,逐个比较每个元素,如果找到了目标数,则返回它的索引位置;如果遍历完整个数组仍未找到,则返回未找到信息。具体实现方法如下(以C语言为例):
int findIndex(int arr[], int len, int target) {
for (int i = 0; i < len; i++) {
if (arr[i] == target) {
return i; // 找到了,返回索引位置
}
}
return -1; // 没找到,返回-1
}
其中,arr
是要查找的数组,len
是数组长度,target
是要查找的目标数。函数返回值为目标数在数组中的索引位置,如果未找到目标数,则返回-1。
需要注意的是,在使用此函数前,应先判断目标数是否在数组中存在,否则可能会返回-1,让人误以为目标数在数组中不存在。
可以通过以下步骤判断目标数是否在数组中存在:
qsort
库函数实现,或自己编写排序函数;如果目标数在数组中不存在,可以返回相应的信息,例如“未找到目标数”的提示信息。