标题: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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-477503-1-1.html




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

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