| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5326 人关注过本帖
标题:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的 ...
只看楼主 加入收藏
huangch
Rank: 1
来 自:肇庆学院网络工程系
等 级:新手上路
帖 子:62
专家分:0
注 册:2008-7-21
收藏
得分:0 
其实用数学的方法更好;用链表与数组都将运行的时间变得很慢的
2008-10-20 22:33
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 4# liyanhong 的帖子
错了,不仅代码上有错误,而且结果也是错的。

面壁……我一定给你送饭。
2008-10-20 23:45
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 11# huangch 的帖子
麻烦您,能不能把算法指点一下?谢谢。
2008-10-20 23:45
liyanhong
Rank: 3Rank: 3
来 自:水星
等 级:禁止访问
威 望:8
帖 子:1867
专家分:0
注 册:2008-5-3
收藏
得分:0 
[bo][un]广陵绝唱[/un] 在 2008-10-20 23:45 的发言:[/bo]

错了,不仅代码上有错误,而且结果也是错的。

面壁……我一定给你送饭。

会改正的

爱上你 是 我的错  可是离 开  又舍不得  听着你为我写的歌     好难过
如果说 我说如果  我们还 能  重新来过   不去计 较 谁对谁错  会怎么做
2008-10-20 23:46
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 14# liyanhong 的帖子
对不起,结果应该没错。是20。刚才是我弄错了。不过你的赋值中的数组下标确实写错了。
2008-10-20 23:48
kiss_白水
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2008-10-6
收藏
得分: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
快速回复:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.047816 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved