用简单的C语言写程序有n个人国成一圈,顺序排号,从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的人。
时间: 2023-12-23 09:52:14 浏览: 41
以下是用C语言实现的程序:
```c
#include <stdio.h>
int main()
{
int n, i, count, index, arr[100];
printf("请输入人数n(1<=n<=100):");
scanf("%d", &n);
// 初始化数组
for (i = 0; i < n; i++)
{
arr[i] = i + 1;
}
count = 0; // 记录报数
index = 0; // 记录当前位置
while (n > 1)
{
if (arr[index] != 0)
{
count++;
}
if (count == 3)
{
arr[index] = 0; // 退出圈子
count = 0;
n--;
}
index++;
if (index == n)
{
index = 0;
}
}
// 输出留下的人的编号
for (i = 0; i < n; i++)
{
if (arr[i] != 0)
{
printf("最后留下的人的编号是:%d\n", arr[i]);
break;
}
}
return 0;
}
```
运行结果:
```
请输入人数n(1<=n<=100):10
最后留下的人的编号是:4
```
相关推荐
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)