#include <stdlib.h>
#include <time.h>
#define MAX 10
#define SWAP(x,y) {int t; t = x; x = y; y = t;}
int search(int[]); //调用顺序搜索的方法
int main(void) {
srand(time(NULL));
int number[MAX+1] = {0};
int i;
for(i = 1; i <= MAX; i++)
number[i] = rand() % 100; //使用rand函数对100取余得到的数赋值给数组Number中值
printf("数列:");
for(i = 1; i <= MAX; i++)
printf("%d ", number[i]);
printf("\n输入寻找值:");
scanf("%d", &number[0]);
int find = search(number); //调用顺序搜索的方法得到的索引值赋值给find
printf("\n找到数值于索引 %d ", find);
else
printf("\n找不到数值");
printf("\n");
return 0;
}
int search(int number[]) { //顺序搜索的代码
int i = MAX;
while(number[i] != number[0]) i--;
return i;
}
对代码的解释;
1.
#define MAX 10
宏定义:只要你的程序中出现了MAX,在编译时,系统就将MAX换成10
如果是#define MAX 100 那么只要你的程序中出现了MAX,在编译时,系统就将MAX换成100
它不是代表最大的限度,就是一个替换;你所说的数组输入问题,其中#define MAX 10 ,当你定义一个数组int a[MAX]时,同等于int a[10],当然可以输入超过10的数!
2.
#include <stdio.h>
#include <stdlib.h>
任何程序都会用到stdio.h,所以这个跟随机数函数没多大关系,<stdlib.h>包含的是随机数函数rand() 和随机数函数 srand(seed) 这两个通常配套使用,srand(seed)意思是置一个随机数种子,然后调用rand()函数得到一个-90~32767之间的整数,置种子的时候我们要求种子是不一样的,否则每次用rand()函数都会得到相同的结果。由于时间每一秒都会发生变化,因此我们选择用时间作为随机数种子,去实践的函数time()就包含在<time.h>头文件里,所以我们要用到<time.h>这个头文件。
#include <time.h> 链接:http://blog.csdn.net/lkasdolka/article/details/26966575