大家来看看着个程序,有没有跟简单的方法
#include <stdio.h>#define N 50
void main()
{
int i,m,n,k,ary[N],s,d,*p;
p=ary;
printf("请输入人数:");
scanf("%d",&n);
printf("请输入从第几号开始:");
scanf("%d",&d);
printf("请输入数到几:");
scanf("%d",&s);
/*if(i=0)
*(p+i)=5;*/
for(i=0;i<n;i++)
*(p+i)=1;
i=0;
m=0;
k=0;
while(m<n-1)
{
if(*(p+i+d)!=0) //着里会不会有下标越界的错误呢?比如i+d>n的情况。
k++;
if(k==s)
{
*(p+i)=0;
k=0;
m++;
}
i++;
i=i%n;
}
while(*p==0)
p++;
printf("编号%d为的学员被当选为班长。\n",*p);
}