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())

 

posted @ 2022-09-10 10:26  CRt0729  阅读(144)  评论(0编辑  收藏  举报