赞
踩
对拍有3步:
1.生成数据,想要生成什么数据要根据题目立定
2.建立你的数据的输出和正确代码的输出
3.建立对拍程序
首先是生成数据:
#include<stdio.h>
#include<time.h>//保证每次生成的数据都不同
#include<stdlib.h>
int a[109];
int main()
{
freopen("date.txt","w",stdout);//将生成的数据存入date.txt文件中
int t=rand()%100;
while(t--)
{
int n=rand()%100,x1=0;
int maxx=0;
for(int i=0; i<n-1; i++)
{
a[i]=rand()%2;
}
a[n-1]=0;
for(int i=0; i<n; i++)
{
if(!a[i])
{
if(maxx<i-x1)
maxx=i-x1;
x1=i;
}
}
printf("%d %d\n",n,maxx);//所有的输出都是输出到文件中
for(int i=0; i<n-1; i++)
printf("%d ",a[i]);
if(n-1>=0)
printf("%d\n",a[n-1]);
}
return 0;
}
过的代码和你的代码都这样操作:
#include<stdio.h>
#include<string.h>
int a[109];
int main()
{
int n,x;
freopen("date.txt","r",stdin);//读入生成的数据
freopen("xaio.txt","w",stdout);//将你的或正确代码的输出存入文件中
while(~scanf("%d%d",&n,&x))
{
for(int i=0; i<n; i++)
scanf("%d",&a[i]);
int sum=0;
for(int i=n-1; i>0; i--)
{
if(a[i-1])
{
sum++;
int h=i-x-1;
for(int j=i-x-1; j>=0&&j<i; j++)
{
if(!a[j])
{
h=j+1;
break;
}
}
i=h;
}
}
printf("%d\n",sum);//输出到xaio.txt文件中
}
return 0;
}
对拍程序的建立:
只需修改这两处即可
另存为.bat 格式即可
这就是对拍程序,直接运行即可
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。