看博客和hjc教我,学会了先一下子造多组测试数据,再一起造多组答案数据。记录一下
生产多组测试数据
#include<stdio.h>
#include<iostream>
#include<string>
#include<string.h>
#include<time.h>
using namespace std;
char sin[30];
FILE *fin=NULL;
int main(){
srand((int)time(NULL));
int a[11]={0,20,100,800,900,1000,10009,45689,34567,87999,100000};
for(int i=1;i<=10;i++){
sprintf(sin,"count%d.in",i);
fin=fopen(sin,"w");
fprintf(fin,"%d\n",a[i]);
for(int j=1;j<=a[i];j++){
int tmp=rand()%900+60;
fprintf(fin,"%d ",tmp);
}
fclose(fin);
}
}
然后写好标程,不加文件输入输出。再写一个答案生产的程序
参考代码
#include<bits/stdc++.h>
using namespace std;
char tmp[100];
int main(){
for(int i = 1; i <= 10; i++) {
sprintf(tmp, "count.exe < count%d.in > count%d.ans", i, i);
// 运行std.exe,让std以count%d.in作为输入文件,以count%d.out作为输出文件
// 注意,std使用freopen时候无效,优先级freopen大于这个方法
system(tmp);
}
}
各种数据生成