如何快速自制数据(c++)

最近有一些人问我,自己闲着无聊出题玩,但是自制数据太麻烦,做了5个数据就不想做了。有什么快捷的办法呢?

方法

文件读写语句

要想快速地制作数据,我们要先来认识一个c++中常用的语句(至少比赛时挺常用的):文件读写语句。

freopen("C:\\111.txt","r","stdin);

freopen("CON","r","stdin);

freopen("C:\\111.txt","w","stdout);

freopen("CON,"w","stdout);

第一个语句是指从C盘中的111.txt里读取数据。

第二个语句是指停止从C盘中的111.txt里读取数据。

第三个语句是指往C盘里的111.txt里输出数据。

第四个语句是指停止往C盘里的111.txt里输出数据。

随机函数

利用随机函数可以减去我们自己想数据的麻烦,让计算机随机取数并按照我们的要求来输出数据。

srand(time(0));

int x=rand()%100+1;

第一个语句是指构造随机数(这个死记硬背就行啦)。

第二个语句是指从1~100里取随机数并存到x里。

%后面放你想要去随机数的最大值,+后面放最小值,程序就会从这个范围里取随机数。

当然,%和+后面也可以放变量名。

#include
#include

使用随机函数前要引用这两个头文件。

输入数据和输出数据

利用文件读写语句与随机函数,我们就可以让系统为我们制造数据啦!这里我以给出n个数,要求将它们排序这道题来示范。

#include
#include
#include
using namespace std;
const int N=1e5;
int main()
{
	freopen("C:\\shuju\\sort1.in.txt","w",stdout);
    //在C盘中一个叫做shuju的文件夹中创建一个名叫sort1.in的文本文档并将所有数据输出到这里
	srand(time(0));
	int n=rand()%N+5;//从5到1e5之间取随机数给到n
    cout<
#include
#include
using namespace std;
const int N=1e5+10;
int main()
{
	freopen("C:\\shuju\\sort1.in.txt","r",stdin);//开启读入流
	freopen("C:\\shuju\\sort1.out.txt","w",stdout);//开启输出流
	int n;
	cin>>n;//下面就是实现排序的代码
	int a[N];
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	sort(a+1,a+1+n);
	for(int i=1;i<=n;i++)cout<

只要每个程序各运行一次,就能制作一组数据啦!

后记

点个赞吧!

你可能感兴趣的:(其他,c++)