搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位
标题:
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的 ...
只看楼主
huangch
来 自:肇庆学院网络工程系
等 级:
新手上路
帖 子:62
专家分:0
注 册:2008-7-21
第
11
楼
得分:0
其实用数学的方法更好;用链表与数组都将运行的时间变得很慢的
2008-10-20 22:33
广陵绝唱
等 级:
贵宾
威 望:
29
帖 子:3607
专家分:1709
注 册:2008-2-15
第
12
楼
得分:0
回复 4# liyanhong 的帖子
错了,不仅代码上有错误,而且结果也是错的。
面壁……我一定给你送饭。
2008-10-20 23:45
广陵绝唱
等 级:
贵宾
威 望:
29
帖 子:3607
专家分:1709
注 册:2008-2-15
第
13
楼
得分:0
回复 11# huangch 的帖子
麻烦您,能不能把算法指点一下?谢谢。
2008-10-20 23:45
liyanhong
来 自:水星
等 级:
禁止访问
威 望:
8
帖 子:1867
专家分:0
注 册:2008-5-3
第
14
楼
得分:0
[bo][un]广陵绝唱[/un] 在 2008-10-20 23:45 的发言:[/bo]
错了,不仅代码上有错误,而且结果也是错的。
面壁……我一定给你送饭。
会改正的
爱上你 是 我的错 可是离 开 又舍不得 听着你为我写的歌 好难过
如果说 我说如果 我们还 能 重新来过 不去计 较 谁对谁错 会怎么做
2008-10-20 23:46
广陵绝唱
等 级:
贵宾
威 望:
29
帖 子:3607
专家分:1709
注 册:2008-2-15
第
15
楼
得分:0
回复 14# liyanhong 的帖子
对不起,结果应该没错。是20。刚才是我弄错了。不过你的赋值中的数组下标确实写错了。
2008-10-20 23:48
kiss_白水
等 级:
新手上路
帖 子:11
专家分:0
注 册:2008-10-6
第
16
楼
得分:0
谢谢各位了,的确是跳出的条件有问题,我增加了一个计数器,计数0的个数,当计数器等于N-1是跳出,这样就行了
经测试成功
代码如下:
#include<stdio.h>
#define N 9
int main()
{
int i,s,a[N+1],flag;
a[0]=0;
flag=0;
for(i=1;i<=N;i++)
a[i]=i;
s=0;
for(i=1;i<=N;i++)
{
if(a[i]!=0)
{
s++;
if(s%3==0)
{
a[i]=0; flag++;
}
}
if(flag==N-1) break;
if(i==N)
{
i=0;s=s%3;
}
}
for(i=1;i<=N;i++)
if(a[i]!=0)
printf("%d\n",i);
scanf(" ");
return 0;
}
2008-10-21 15:07
16
2/2页
1
2
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-239480-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.850879 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved