主题:请教
我自己写的程序,要求是 1到13 从第3个数开始数起,每相隔的5个数输出,被输出的数不能在被计入。例如 3+5=8 就输出8,下次数的时候,8就不能在数了,一直输出13个数的顺序。
写的程序编译通过,但运行不正确,找了很久不知道错误在哪里,还请教!
#include <iostream.h>
void main()
{
int i;
int j;
int k;
int a[14]={0,1,2,3,4,5,6,7,8,9,10,11,12,13};
int t;
int flag[14];
for(k=0;k<14;k++)
{
flag[k]=1;
}
for(t=13,j=i=3;t>0;)
{
if(j>13)
{
j=j-13;
}
while(flag[j]==1)
{
j++;
if(j-i==5)
{
cout<<"Die "<<j<<"Zahl ist"<<a[j];
i=j+1;
flag[j]=0;
t--;
}
}
while(flag[j]==0)
{
i++;
}
}
}
写的程序编译通过,但运行不正确,找了很久不知道错误在哪里,还请教!
#include <iostream.h>
void main()
{
int i;
int j;
int k;
int a[14]={0,1,2,3,4,5,6,7,8,9,10,11,12,13};
int t;
int flag[14];
for(k=0;k<14;k++)
{
flag[k]=1;
}
for(t=13,j=i=3;t>0;)
{
if(j>13)
{
j=j-13;
}
while(flag[j]==1)
{
j++;
if(j-i==5)
{
cout<<"Die "<<j<<"Zahl ist"<<a[j];
i=j+1;
flag[j]=0;
t--;
}
}
while(flag[j]==0)
{
i++;
}
}
}