解题思路:
注意事项:
参考代码:
#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语言程序设计教程(第三版)课后习题8.9 (C++代码)浏览:850 |
不容易系列2 (C语言代码)浏览:590 |
简单的a+b (C语言代码)浏览:573 |
2005年春浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:582 |
矩形面积交 (C++代码)浏览:1128 |
GC的苦恼 (C语言代码)浏览:621 |
C语言训练-自守数问题 (C语言代码)浏览:742 |
C语言程序设计教程(第三版)课后习题7.4 (C语言代码)浏览:446 |
简单的事情 (C语言代码)浏览:635 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:565 |