C语言:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报 数),凡报到3的人退出圈子

C语言:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报 数),凡报到3的人退出圈子
问最后留下的是原来的第几号.(不要用指针.指针还不懂.)
princeton567 1年前 已收到1个回答 举报

gzld 幼苗

共回答了17个问题采纳率:82.4% 举报

#include
void main()
{
int i = 0;
int n = 0;
int out = 0; //退出的人数
int num = 0; //报数
int a[1024] = {0}; //0表示退出圈子
printf("Input n:");
scanf("%d",&n);
for (i = 0; i < n; i++)
{
a[i] = 1;
}
i = 0;
while (out != n-1)
{
if (a[i] == 1)
{
num++;
}
if (num == 3)
{
a[i] = 0;
num = 0;
out++;
}
i++;
if (i == n)
{
i = 0;
}
}
for (i = 0; i < n; i++)
{
if (a[i] == 1)
{
printf("最后留下的人是%d号.n",i+1);
break;
}
}
}

1年前

9
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.061 s. - webmaster@yulucn.com