求助各位大佬!!!简单的随机数程序我能写,但写出来很短,不知道该怎么完善。
求满足以下要求的c程序。
系统要实现的功能:
首先确定一个主要模型和一两个次要模型或某种规则;
可以确定或指定几个初始值;
能够按照一定的步骤产生第一个随机数,或者生成随机数种子;
用产生的上一个随机数作为初值,按照同样的步骤产生下一个随机数,并且能 重复这个过程产生伪随机序列;
可以指定规模,重复地产生一组或多组伪随机序列用于比对,有对本过程如何操作的友情提示。
伪随机序列的经典算法有多种,比如: 伪随机数生成算法
题目的要求除了实现算法,还有接口要求,这就要自己编程实现了。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main() {
// rand()和srand()函数在使用时需要包含<stdlib.h>
// time()函数在使用时需要包含<time.h>
// 使用当前系统时间建立一个随机数种子
unsigned int seed = time(NULL);
// 使用这个种子作为随机数生成器算法
srand(seed);
// 打印出50组0到90以内的随机数
for (int i = 0; i < 50; i++) {
int random_num = rand() % 91; // 如果要生成的随机数介于0-90,则需要%91,同理若介于0-20,则需要%21
printf("%d\n", random_num);
}
system("pause");
}
把这个代码改改,加上输入输出(scanf() ,printf())的交互,就差不多
线性同余法 https://blog.csdn.net/liyuefeilong/article/details/47688223