有的同学自己写题却懒得编数据,比较有的题数据太大,人工根本造不出来。
所以我就在这里给你们演示下我是怎么只用c++编译器写的数据
思路
先用随机值函数模拟输入数据并用freopen输出成输入文件
再用你那道题的ac程序,读取刚才刷出的文件并处理最后再用freopen输出
完工!
最后给大家举个例子,我用a+b写了一个模板
刷输入文件
#include<cstdio>
#include<cstdlib>
#include<ctime>
char name[10];//输入输出文件名
int main()
{
int i;
for (i=1;i<=20;i++)//20可以根据你需要的数据量随意更改
{
sprintf(name,"data%d.in",i);//定义name为datai(i为1~20中一个数).in
freopen(name,"w",stdout);//输出文件
srand(time(NULL));//调用当前时间
int a=rand()%100000,b=rand()%100000;//用%控制随机值范围
printf("%d %d",a,b);//输出
fclose(stdout);
}
}
刷输出文件
#include<bits/stdc++.h>
using namespace std;
char name[20];
int a,b;
int main()
{
for(int i=1;i<=20;i++){
sprintf(name,"data%d.in",i);//该解释的上面都解释过了
freopen(name,"r",stdin);
sprintf(name,"data%d.out",i);
freopen(name,"w",stdout);
cin>>a>>b;
cout<<a+b;
}
}