#include
int main(int argc, char *argv[])
{
int n,x,y,i=0,a[100];
scanf("%d",&n);
for(i=0;i<n;i++)
{
a[i]=i+1;
}
x=0;
y=n;
while(y>1)
{
for(i=0;i<n;i++)
if(a[i]!=0)
{
x++;
if(x%3==0)
{
a[i] = 0;
y--;
}
}
}
i=0;
while(i<n)
{
if(a[i]!=0)
printf("%d\n",a[i]);
}
return 0;
}
while(i<n)
{
if(a[i]!=0)
printf("%d\n",a[i]);
i++;
}//加上 i++就可以了
死循环了,最后几行。
最后一个while的时候i没有变化,一直为0,如果你输入大于1的数字,就永远i<n,如果你输入小于1的数,就不会执行while里面的语句,程序直接结束。
正常情况,在while中加上i++
输入的数不会造成数组越界吧?
没的说了,前面都说完了
shangguanwaner 最早,却排在最后了。应该采纳他的,
大家的答案都对的,谢谢大家。
编译器没有提示错误,新手找的好累,呵呵