为什么我的北大ACM1006题提交上去会是编译错误呢,以下是我的代码:#include <iostream>

#include <iostream>
using namespace std;
int main(void)
{
int N=100;
int (*a)[4]=new int [N][4];
int *b=new int [N];
for(int i=0;i<N;i++)
{
for(int j=0;j<4;j++)
cin>>a[i][j];
if(a[i][0]==a[i][1]&&a[i][1]==a[i][2]&&a[i][2]==a[i][3]&&a[i][3]==-1)
break;
}

for(int k=0;k<i;k++)
{

int a1,b1,c1,a2,b2;
a1=a[k][0]%23;
b1=a[k][1]%28;
c1=a[k][2]%33;
if(b1-a1<0)
a2=b1-a1+28;
else
a2=b1-a1;
if(c1-a1<0)
b2=c1-a1+33;
else
b2=c1-a1;
int T=1,n1=1;
while(T)
{
if((23*n1)%28==a2&&(23*n1)%33==b2)
{
b[k]=n1;
T=0;
}
else
n1++;
}
}

for(int m=0;m<i;m++)
cout<<"Case "<<m+1<<": "<<"the next triple peak occurs in "<<23*b[m]-a[m][3]+a[m][0]%23<<" days."<<endl;
return 0;
}

你看
在第一个for 语句里面 你 int i;
但是在for里面声明,那么i的有效范围 只能在这个for里面
但是你在 后面一个 for(int k=0;k<i;k++)
又用到了 i 。。。所以编译错误
你把i 提出来。。,在外面声明 ,就不会Compile Error了
温馨提示:内容为网友见解,仅供参考
无其他回答

为什么我的北大ACM1006题提交上去会是编译错误呢,以下是我的代码:#...
又用到了 i 。。。所以编译错误 你把i 提出来。。,在外面声明 ,就不会Compile Error了

相似回答
大家正在搜