鱼C论坛

 找回密码
 立即注册
查看: 2751|回复: 3

求助关于约瑟夫问题

[复制链接]
发表于 2020-5-26 16:36:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
下面这段代码是我根据小甲鱼视频中一样打的,可为什么这段代码在vc++中每次运行就弹出中止框,用devc++运行可以,求解释。十分感谢。



//Josephus问题
#include<stdio.h>
#include<stdlib.h>

typedef struct Node *PtrToNode;
struct Node{
        int data;
        struct Node *next;
};
typedef PtrToNode List;



List CreatList(int N);
List CreatList(int N)//创建单向循环链表
{
        List p=(PtrToNode)malloc(sizeof(List));
        List head=p;
       
        int i=1;
        List s;


        if(N!=0)
        {
                while(i<=N)
                {
                    s=(PtrToNode)malloc(sizeof(List));
                        s->data=i;
                        p->next=s;
                        p=s;
                        i++;
                }
                s->next=head->next;
        }
        else
                printf("未知错误!\n");


        free(head);
        return s->next;
}

int main()
{
        int M,N;
        printf("请输入M的值:");
        scanf("%d",&M);
        printf("请输入N的值:");
        scanf("%d",&N);

        if((M==0)||(N==0))
        {
                printf("未知错误!\n");
                return NULL;
        }

        List p=CreatList(N);
        List Temp;

        while(p!=p->next)
        {
                for(int i=1;i<M-1;i++)
                        p=p->next;
                printf("%d->",p->next->data);
                Temp=p->next;
                p->next=Temp->next;

                free(Temp);
                p=p->next;
        }
        printf("%d\n",p->data);
        return 0;
}



       
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-26 18:45:44 | 显示全部楼层
发题目
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-26 19:33:48 | 显示全部楼层

Josephus问题是下面的小游戏:N个人从1~N编号,围坐成一个圆圈。从1号开始传递一个热土豆。经过M次传递后拿着热土豆的人被清除离开,围坐的圆圈缩紧,由坐在被清除的人后面的人拿起热土豆继续进行游戏。最后剩下的人获胜。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-26 19:35:27 | 显示全部楼层

我想问一下为什么在vc++上这段代码就运行不了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-12 03:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表