| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1247 人关注过本帖
标题:帮忙找一下原因--猴子选大王
只看楼主 加入收藏
chinaqiao
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2009-1-16
收藏
得分:0 
约瑟夫环~
2009-08-13 11:37
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
int s = 0;
for (i = 2; i <= n; i++)
    s = (s + t) % i;

printf("%d", s+1);

虽然很短  但还是第一次这么自信的打这几行代码

[ 本帖最后由 BlueGuy 于 2009-8-13 15:12 编辑 ]

我就是真命天子,顺我者生,逆我者死!
2009-08-13 13:46
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
用循环链表



我就是真命天子,顺我者生,逆我者死!
2009-08-13 13:48
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
这题原本就是用来说明 链表的好处的

我就是真命天子,顺我者生,逆我者死!
2009-08-13 13:48
soler
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:181
专家分:1077
注 册:2005-7-16
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
struct M
{
    int num;
    struct M *next;
};
int main(void)
{
    int i, j, n, t;
    struct M *p, *q, *head;
    p = (struct M*)malloc(sizeof(struct M));
    printf("The number of monkeys: ");
    scanf("%d", &n);
    printf("The amount of count: ");
    scanf("%d", &t);
    for(i = 1;i <= n;i++)
    {
        q = (struct M*)malloc(sizeof(struct M));
        q->num = i;
        if(i == 1) head = q;
        p->next = q;
        p = q;
    }
    p->next = head;
   // p = head;你的主要问题出现在这
    for(i = 0;i <= n-2;i++)
    {
        for(j = 0;j <= t-1;j++)
        {
            q = p;
            p = p->next;
        }
        q->next = p->next;
        free(p);
        p = q;
    }
    printf("The king: %d\n", p->num);
    return 0;
}


本来就是一个循环链表,当你加了p = head;之后,你就不是从head->num=1开始了,而是从head的下一个结点2开始,循环5个,你删除的结点是6.而不是你想删的5.

 p->next = head;这句已经说明了当前p是head的上一个结点

[ 本帖最后由 soler 于 2009-8-14 04:03 编辑 ]
2009-08-14 03:50
快速回复:帮忙找一下原因--猴子选大王
数据加载中...
 
   



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

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