当前位置:首页 » 编程语言 » c语言报数

c语言报数

发布时间: 2025-09-23 14:36:14

c语言:有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数。

#include<stdio.h>

int main()

{

int i,n,N,out,a[1000];

out=i=n=0;

printf("输入约瑟夫圈大小 100 ");

scanf("%d",&N);

for(i=0;i<N;i++)

{

a[i]=1;

}

i=0;

while(out!=N-1)

{

if(a[i]==1)n++;

if(n==3){a[i]=0;n=0;out++;}

i++;

if(i==N)i=0;

}

for(i=0;i<N;i++)

if(a[i]==1)printf("最后剩下的是第%d个人",i+1);break;

return 0;

}

(1)c语言报数扩展阅读:

需要说明的是:

1、一个C语言源程序可以由一个或多个源文件组成。

2、每个源文件可由一个或多个函数组成。

3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。

4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。

5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。结构体、联合体、枚举型的声明的“}”后要加“ ;”。

6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

网络-c语言

㈡ C语言 有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数,报数3的人退出圈子

#include <stdio.h>
#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<=n;i++) 改为a[i]=i;
a[i+1]=i; //这样做a[0]是个不确定的值,执行完p=a;后*p
p=a; 的值也是不确定的,后面的if判断条件不确定了
while(out!=n){ 这儿应该是out!=n-1吧
if(*p!=0) 这段可以改成这样for(;;){ if(*p!=0){
count++; count++;p++;}结束if
if(count==3){ if(count==3){ out++; out++;
*p=0; *p=0; break;}结束if
} }结束for
count=0; //此处导致count永远只能是0或1所以out的值不会变
把这儿的p++删了 p++; while就成死循环了
if(*p==a[n-1]) 把这个if语句嵌套到if(*p!=0)里的p++后面这儿不要了
p=a;
}
printf("%d",*p);
}
return 0;
}
这样改完后应该能把最后剩下的号码打出,其实可以把出局的顺序也打出来楼主想想啊,挺简单的,而且好像有很短的代码解决这个问题,多思考啊

㈢ C语言:n个编号为1~n的人围坐一圈,从1号开始正向报数到m者退出,从下一人继续;求出列序列,咋编程

代码文本:

#include "stdio.h"

int main(int argc,char *argv[]){

int a[20],b[20],i,j,t,n,m;

printf("Enter n(int 0<n,m<21)... n m = ");

if(scanf("%d%d",&n,&m)==2 && n>0 && n<21 && m>0 && m<21){

for(i=0;i<n;a[i++]=i+1);//创建人员编号

i=-1,j=t=0;

printf(" The result is: ");

while(t<n)

if(a[++i%=n] && (++j%=m)==0){

printf("%d ",b[t++]=a[i]);//生成并输出序列

a[i]=0;

}

putchar(' ');

}

else

puts("ERROR");

return 0;

}

供参考……

热点内容
安卓手机的游戏文件夹在哪里设置 发布:2025-09-23 16:04:21 浏览:295
java免费离线编译器 发布:2025-09-23 14:54:56 浏览:271
征途脚本赚钱 发布:2025-09-23 14:41:41 浏览:294
apache设置访问ip 发布:2025-09-23 14:41:29 浏览:885
英雄枪战脚本 发布:2025-09-23 14:38:17 浏览:808
c语言报数 发布:2025-09-23 14:36:14 浏览:585
企业邮箱密码在哪里 发布:2025-09-23 14:30:27 浏览:807
编译原理东南大学教材 发布:2025-09-23 14:21:54 浏览:584
现在汽车主流配置是什么 发布:2025-09-23 14:09:45 浏览:747
宿舍感人故事脚本 发布:2025-09-23 14:06:43 浏览:594