/* --生成随机数的函数(返回一个0~32768的伪随机数)*/
static unsigned long int next = 1; //种子
unsigned int rand0()
{
/* 生成伪随机数的魔术公式*/
next = next * 1103515245 + 123456;
return (unsigned int) (next / 65536) % 32768;
}
//设置种子
void srand1(unsigned int seed)
{
next = seed;
}
//main 文件
#include <stdio.h>
#include <stdlib.h>
extern unsigned int rand0(); //引入式声明
extern unsigned int srand1(); //引入式声明
int main()
{
printf("第一次调用随机函数rand0,种子默认\n");
for (int i = 0; i < 5; ++i)
{
printf("%d\n", rand0() );
}
printf("第一次调用随机函数rand0,种子设置为100\n");
srand1(100);
for (int i = 0; i < 5; ++i)
{
printf("%d\n", rand0() );
}
return 0;
}