• 如何造数据


    当我们自己想出题时,就需要我们自己出数据啦qwq。

    这里以出A+Bproblem的数据为例qwq。

    模板代码:

    #include<bits/stdc++.h>
    #include<windows.h>
    using namespace std;
    
    #define Rand() ((rand() << 15) + rand())
    
    const int maxn = 1e5 + 40;
    char a[maxn], b[maxn];
    
    FILE *work(FILE *fp, int now) {
    	fprintf(fp, "%d %d", Rand()%1000, Rand()%1000);
    	return fp;
    }
    
    signed main() {
    	srand(time(0));
    	for(int i = 1; i <= 20; i++) {
    		sprintf(a, "add%d.in", i);
    		fclose(work(fopen(a, "w"), i));
    		sprintf(b, "std.exe < add%d.in > add%d.out", i, i);
    		system(b);
    		printf("test #%d is ok now
    ", i);
    	}
    	return 0;
    }
    

    其中work为你生成数据的函数,一般main()函数里没有啥需要修改的qwq。

    add为生成数据的文件名,std.exe是你标准程序运行后生成的exe文件,名字是可以修改的。

    就假如你的标准程序名字是map,那么他编译运行后生成的exe文件就是map.exe。

    你就把下面这一行:

    sprintf(b, "std.exe < add%d.in > add%d.out", i, i);
    

    改成这样就可以了:

    sprintf(b, "map.exe < add%d.in > add%d.out", i, i);
    

    同理add也是可以修改的,你可以改成这样:

    sprintf(a, "qwq%d.in", i);
    fclose(work(fopen(a, "w"), i));
    sprintf(b, "std.exe < qwq%d.in > qwq%d.out", i, i);
    

    一个地方修改了以后所有地方都要修改。

    其中注意std.exe要和data.exe处在同一文件夹内,而且std一定要编译运行过即产生了exe文件!!

    没啦qwq!

  • 相关阅读:
    计时器
    画刷
    研究:窗口映射
    文本和字体
    MFC源码实现文件对照表
    动态链接库编程:非MFC DLL
    对话框
    C/C++的Name Mangling
    MFC框架仿真<四>动态创建
    MFC框架仿真<三>R T T I
  • 原文地址:https://www.cnblogs.com/Vanyun/p/13406612.html
Copyright © 2020-2023  润新知