#include<stdio.h>
#define N 100
int main()
{
int i,j,a[N],n;
void dele(int *p,int len);
do{
printf("输入人数:");
scanf("%d",&n);
if(n>100){
printf("错误,请重新输入!");
}
}while(n>100);
for(i=0,j=1;i<n;i++,j++){
a[i]=j;
}//给每个人赋予序号,找完直接输出即为原来的第几号!
dele(a,n);
for(i=0;i<n;i++){
if(a[i]!=' '){
printf("%-4d",a[i]);
}
}
return 0;
}
void dele(int *p,int len)
{
int i,j,t,cnt;
cnt=0;t=len;
i=1;//i在这里赋值,若在循环中,每到开头会更新i的值
for(;t>2;){
for(j=0;j<len;i++,j++){
if(p[j]==' '){
i--;
}//遇到删除过的跳过
if(i==3){
p[j]=' ';
i=0;
cnt++;
}//每3位删除
}
t=len-cnt;
}
}