TZOJ:测试数据的文件生成方式
输入数据的生成
以下只是提供 C 语言一种示范,数据请勿完全依赖随机生成,应根据题目要求考虑不同情况设定数据,同时应包含题面各个范围的数据情况。
#include<bits/stdc++.h> using namespace std; int main() { for(int i=1;i<=10;i++) { char name[101]; //文件名 sprintf(name,"data%d.in",i); //sprintf将字符串输出到name中 FILE *fp = fopen(name,"w"); //打开name文件并生成一个指向name文件的文件指针fp int a = rand()%100+1; //rand会生成0-32767的数,%100就可以得到0-99,再+1就得到1-100的随机数了 int b = rand()%100+1; fprintf(fp,"%d %d\n",a,b); //将格式化字符串内容输出到文件中 fclose(fp);//关闭文件 } return 0; }
以下再来展示使用python往E:\\TZOJ\\路径中生成data.in文件的方法
import random for u in range(1,11): desktop_path = "E:\\TZOJ\\文件夹名称\\" full_path = desktop_path + "data%d"%u + '.in' file = open(full_path,'w') n = random.randint(1,10**6) m = random.randint(1,10**6) file.write('%d %d\n'%(n,m)) print(n,m)
输出数据的生成
#include<bits/stdc++.h> using namespace std; int main() { for(int u=1;u<=10;u++) { char in[101],out[101]; sprintf(in,"data%d.in",u); sprintf(out,"data%d.out",u); freopen(in,"r",stdin); freopen(out,"w",stdout); } return 0; }
注意:生成数据和标准程序最好在同一个文件夹,这样才能将生成的数据都有序的出现在同一文件夹中
将生成的输入输出数据打印出来检测数据的正确性
import random desktop_path = "E:\\TZOJ\\判断素数\\" for u in range(1,11): in_path = desktop_path + "prime%d"%u + '.in' #输入文件路径 out_path = desktop_path + "prime%d"%u + '.out' #输出文件路径 infile = open(in_path,'r') #以读取'r'的形式来打开路径的文件 outfile = open(out_path,'r') print(infile.read()) #将文件的数据read读取输出 print(outfile.read())