使用srand((time(NULL)))使用系统时间作为生成数种子,然后使用rand()%MAX+1生成从1到MAX的随机数。
为了使用srand()和rand()要包含cstdlib.h;为了使用time()要包含ctime.h。
下面这段代码就是生成数据并写入到original.txt中,所以还要包含fstream.h。
#include <fstream>
#include <ctime>
#include <cstdlib>
#include <iostream>
using namespace std;
/***生成伪随机数,每行15个从1到100范围内的数,以空格隔开
/***共生成50行数据*********************************************/
void RanNum(){
ofstream out_file("original.txt");
srand(time(NULL));
for(int j = 0; j < 50; j++){
for(int i = 0; i < 15; i++){
int t = rand()%100+1;
out_file << t << " ";
}
//如果最后一行不取消回车则还不算文件结束,因为这里是50行(因为后来还要从这个文件中读取数据并以文件结束为标记)
//所以最后一行不能加endl回车符
if(j < 49)
out_file<<endl;
}
out_file.close();
}