大神帮忙看一下代码有什么错误
c语言吧
全部回复
仅看楼主
level 11
璐飛飛 楼主

n个人围成一圈,从第一个人开始报数(从1到3报数),凡是报到3的人退出圈子,问最后留下的是原来第几号的。代码如下:
#define nmax 1000
#include <stdio.h>
void main()
{
int n,a[nmax],*t,i=0;
printf("Please input the total of the people(n<%d):\n ",nmax);
scanf("%d",&n);
a[i]=i+1;
t=a;
number(t,n);
getch();
}
number(int*p,int n)
{
int i=0,j=0,m=0 ;
while(m<n-1)
{
if(*(p+i)!=0)
{
j++;
if(*(p+i)==3)
{
*(p+i)=0 ;
j=0 ;
m++;
}
}
i++;
if(n-4<i&&i<n)
i=0;
}
while(*p==0)
p++;
printf("Number %d is left ",*p);
}
2012年11月27日 12点11分 1
1