# 使用 C++ 编写输入文件

这里我们介绍一下如何使用编程的方式生成那些超长的输入文件,举个例子,这道题目是要求选手统计输入文件中偶数的个数,输入文件由 1 个整数 N,及 N 个整数组成,用换行隔开。

我们先按照前一章节的方式,手动编写 4 个输入文件,它们只包含 0、1、2、3 个偶数,算是给一些试图瞎蒙骗分的程序送福利了,这里不再赘述。

我们在编辑输入文件时,可以看到上方有个选项来选择是 手动编写 或者 代码生成,我们再添加一个输入文件,并将它切换到 代码生成:

此时我们可以用我们熟悉的 C++ 代码生成我们的输入文件了,我们来编写一段生成代码:

使用到的代码如下:

#include <iostream>
#include <cstdlib>
using namespace std;
int main(){
    int n = 10000;
    cout<<n<<endl;
    for(int i=0;i<n;i++){
        cout<<rand()<<endl;
    }
}

然后同样的,我们切到到 标程 菜单项,输入这道题目的正确答案:

#include <iostream>
using namespace std;
int main(){
    int n,ans=0;
    cin>>n;
    for(int i=0;i<n;i++){
        int a;
        cin>>a;
        if(a%2==0) ans++;
    }
    cout<<ans;
}

完成这一切,点击生成后,我们就可以看到我们的成果了,包含 4 个简单的输入文件以及 1 个数据规模 n=10000 的输入文件。

TIP

通过这一节我们已经可以用代码来可编程的生成一个输入文件了,但这远远不够,下一节我们会介绍如何一口气生成多个输入文件