#include <stdio.h>
#define NUMBER 10
#define FAILED -1
int search_idx(const int v[], int idx[], int key, int n)
{
int i;
int j = 0;
for (i = 0; i < n; i++)
{
if (v[i] == key)
{
idx[j] = i;
j++;
}
}
return (j > 0) ? j : FAILED;
}
int main(void)
{
int i;
int n;
int vx[NUMBER];
int ky;
int idx;
int vidx[NUMBER];
do
{
printf("请输入数组的数量(不超过%d):", NUMBER);
scanf("%d", &n);
}while (n > NUMBER);
for(i = 0; i < n; i++)
{
printf("x[%d]:", i); scanf("%d", &vx[i]);
}
printf("请输入要查找的值:"); scanf("%d", &ky);
if ((idx = search_idx(vx, vidx, ky, n)) == FAILED)
printf("查找结果为0。\n");
else
printf("%d是数组中的第", ky);
for (i = 0; i < idx; i++)
{
if (i == idx - 1)
printf("%d", vidx[i]);
else
printf("%d、", vidx[i]);
}
printf("号元素。");
return 0;
}