Langzihao.


私信TA

用户名:Langzihao

访问量:14341

签 名:

等  级
排  名 781
经  验 3599
参赛次数 0
文章发表 20
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

#include <stdio.h>

#define zz 1000 

int main()

{

int n,man[zz];

scanf("%d",&n);

int i;

for(i=0;i<n;i++){

man[i]=1;

}//当man[i]=1,表示未报3,此循环表示从第一个人0到第n个(n-1)都是1(未报)

i=1;

int j,k;

for(j=0;;j++){

if(j == n) j=0;//当j为n时变为0

if(man[j]){//判断第j-1个人是否喊过

if(i%3 == 0) man[j]=0;//喊3的人变0 ,此处i用于检测是否为3的倍数

i++; 

}

int exit=0;

for(k=0;k<n;k++){

if(man[k]) exit++;

}

if(exit == 1) break;//检测是否只剩一个元素,跳出循环 

}

for(i=0;i<n;i++){

if(man[i]){

printf("%d",i+1);

break;

}

}//输出人编号 

return 0;

}


 

0.0分

0 人评分

  评论区