解题思路:
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int i,j,k=0,n;
scanf("%d",&n);
int num[n];
for(i=0;i<n;i++)
num[i]=i+1;//给n个人排序
j=n;//给计数初始化
while(j>1)//剩最后一个人终止循环
{
j=n;//每轮一次初始化计数
for(i=0;i<n;i++)
{
if(num[i]==0)//记下每轮还剩多少人
j--;//每轮退出的减掉
if(num[i]!=0&&(++k)%3==0)//报数k为3的倍数
num[i]=0;//让数到3人的等于0也就是退出
}
}
for(i=0;i<n;i++)
{
if(num[i]!=0)
printf("%d\n",num[i]);//输出最后一个人的序号
}
return 0;
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:1238 |
十->二进制转换 (C语言代码)浏览:1330 |
不容易系列2 (C语言代码)浏览:641 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:669 |
WU-格式化数据输出 (C语言代码)浏览:1818 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:593 |
Cylinder (C语言描述,蓝桥杯)浏览:1279 |
【偶数求和】 (C语言代码)浏览:460 |
1035 题解浏览:875 |
C语言训练-亲密数 (C语言描述,反正怎么都能对)浏览:2256 |