这是一段生成20组数据的代码,1.exe是标算
然而出了问题,所有的.in文件都有内容,但是所有的.out文件都没内容
我以为我代码哪里锅了,然后在cmd里面手动1.exe<1.in>1.out,还是没输出
最奇怪的是,当输入数据是1 1时又有输出了?凡是n>1的情况都没输出?什么玩意儿
所以究竟哪里出了拐
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
char s[3212];
int myrand()
{
return (rand()<<15)+rand();
}
void make(int kase)
{
int n;
if(kase<=10)n=1000-rand()%100;
else n=myrand()%100000+1;
printf("%d\n",n);
for(int i=1;i<=n;i++)
printf("%d ",myrand());
}
int main()
{
srand(time(0));
for(int i=1;i<=20;i++)
{
sprintf(s,"%d.in",i);
freopen(s,"w",stdout);
make(i);
fclose(stdout);
sprintf(s,"1.exe<%d.in>%d.out",i,i);
system(s);
Sleep(1000);
}
}