C语言:有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子【问题描述】 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子,下一个人从1开
来源:学生作业帮助网 编辑:六六作业网 时间:2025/01/19 11:38:10
C语言:有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子【问题描述】 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子,下一个人从1开
C语言:有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子
【问题描述】 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,报数3的人退出圈子.如此循环,直到留下最后一个人.问留下来的人的编号.【输入形式】 考虑如下两种情况:如果n超出“n must be a natural number less than 10000”,则打印“n is out of range of valid values.”;其中n应该用如上输入的具体的n数值代替;换行; 如果n是有效范围的数值,则打印“Last No.is:”;然后直接在冒号后面输出最后留下来的人的编号;换行; 【运行时的输入输出样例1】(下划线部分表示输入) Input n(n must be a natural number less than 10000):5 Last No.is:4 【运行时的输入输出样例2】(下划线部分表示输入) Input n(n must be a natural number less than 10000):100000 100000 is out of range of valid values.
注:1.请不要复制黏贴网上的源程序给我,我能搜的都试过了,大多数连编译都不对,编译对的也是死循环
2.请不要用C语言以外的语言,包括C++
3.请不要喊我伸手党……我自己编了两个钟头又在网上找其他的源程序试了三个钟头,走投无路了亲~
C语言:有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子【问题描述】 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子,下一个人从1开
欢迎追问
#include
#include
int main()
{
int i=0,j=0;
int a[10000]={0};
int n;
printf("Input n(n must be a natural number less than 10000):");
scanf("%d",&n);
if(n>10000)
{
printf("%d is out of range of valid values.\n",n);
exit(1);
}
for(j=0;j