| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1316 人关注过本帖
标题:13人围成一圈,从一开始报数,报3者退出圈子,找留在圈子中的人的原来的序号 ...
取消只看楼主 加入收藏
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
结帖率:95.37%
收藏
已结贴  问题点数:20 回复次数:2 
13人围成一圈,从一开始报数,报3者退出圈子,找留在圈子中的人的原来的序号,请各位帮忙把程序加下注释
13人围成一圈,从一开始报数,报3者退出圈子,找留在圈子中的人的原来的序号。用链表处理
下边是答案。没看太懂。还请各位帮忙加下注释。

#include<stdio.h>
#define N 13
struct person
{
    int number;
    int nextp;
}link[N+1];
int main()
{
    int i,count,h;
    for(i=1;i<=N;i++)
    {
        if(i==N)
          link[i].nextp=1;
        else
        link[i].nextp=i+1;
        link[i].number=i;
    }
    printf("\n");
    count=0;
    h=N;
    printf("sequence that person leave the circle:\n");
    while(count<N-1)
    {
        i=0;
        while(i!=3)
        {
            h=link[h].nextp;
            if(link[h].number)
              i++;
        }
        printf("%4d",link[h].number);
        link[h].number=0;
        count++;
    }
    printf("\n The last one is");
    for(i=1;i<=N;i++)
      if(link[i].number)
         printf("%3d",link[i].number);
   
    printf("\n");
    return 0;
}
搜索更多相关主题的帖子: sequence include person number count 
2017-05-31 19:52
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 2楼 renkejun1942
我没看懂是什么意思 我看的参答案书上是这么写的。
2017-05-31 19:58
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 4楼 renkejun1942
再详细的解释下呗、
2017-06-01 20:18
快速回复:13人围成一圈,从一开始报数,报3者退出圈子,找留在圈子中的人的原来 ...
数据加载中...
 
   



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

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