C语言 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,报数
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/28 01:15:14
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.
我的程序为什么死循环啊.刚学指针,求改正,
#include
#define N 9999
int main()
{
\x05int n,a[N],*p,i=0,out=0,count=0;
\x05printf("Input n(n must be a natural number less than 10000):");
\x05scanf("%d",&n);
\x05if(n>=10000)
\x05\x05printf("n is out of range of valid values.");
\x05else
\x05{
\x05\x05for(i=0;i
C语言 有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,报数
#include
#define N 9999
int main()
{
int n,a[N],*p,i=0,out=0,count=0;
printf("Input n(n must be a natural number less than 10000):");
scanf("%d",&n);
if(n>=10000)
printf("n is out of range of valid values.");改为printf("%d is out of range of valid values.",n);
else
{
for(i=0;i