/创建一个函数search_idx,将和有n个元素的数组v中的key相等的所有
元素的下标存储在数组idx中,返回和key相等的元素的个数。/
#include
#define MAX_SIZE 10
int search_idx(const int v[], int idx[], int key, int n){
int i, num = 0;
key = v[n];
for (i = 0; i < n; i++){
if (v[i] == key)
idx[num++] = i;
}
return num;
}
int main(void)
{
int n, v[MAX_SIZE], idx[MAX_SIZE], key, i, num;
printf("请输入v数组的元素个数(< %d):", MAX_SIZE);
scanf("%d", &n);
printf("请输入v数组的元素:");
for(i = 0; i < n; i++){
//printf("请输入v数组的元素:");
scanf("%d",&v[i]);
}
printf("请输入要查找的key值: ");
scanf("%d", &key);
num = search_idx(v, idx, key, n);
printf("key为%d,它在v数组中的个数和下标为:%d\n", key, num);
for(i = 0; i < num; i++){
printf("%d ",idx[i]);
}
putchar(10);
return 0;
}
编译出的在v数组中的个数和下标不对
key = v[n];是啥个意思啊???
key都是要搜索的数啊,这行删掉吧
可观看性实在太差,我们不好观察呐