在一组无序数列中,查找特定某个数值,并返回其位置pos。
//在一组无序的数组中查找给定的数字,并返回下标,2016.5.26
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX 100
void input(int num[])//实参传入的数组的首地址,而不是整个数组
{
int i;
srand((unsigned)time(NULL));//产生随机函数的随机数种子
for(i = 0; i < MAX; i++)
{
num[i] = rand()%100;
}
}
void output(int num[])
{
int i;
for (i = 1; i <= MAX; i++)
{
printf("%5d", num[i-1]);
if (i % 10 == 0)
printf("\n");
}
}
int find(int num[],int x)
{
int i;
for (i = 0; i < MAX; i++)
if (num[i] == x)
return i;
return 0;
}
void main()
{
int x, pos, num[MAX];
input(num);
printf("产生的随机数为:\n");
output(num);
printf("\n");
printf("请输入要查找的数:\n");
scanf("%d", &x);
pos = find(num, x);
if (pos)
printf("OK!,%d is found in :%d\n", x, pos);
else
printf("%d is not found", x);
system("pause");
}