搜索
首页 电脑/网络 互联网

约瑟夫环编译通过,可是不能运行

全部回答

2018-04-06

12 0
学习占位

2018-04-06

39 0
    我这有个约瑟夫环问题是n个人出圈游戏,从第一个人开始没数到第三个人,出圈,你可以拿去用/*第二题约瑟夫环删除数字*/#include<stdio。h> #include<stdlib。
    h> typedef struct _person { int num; struct _person *next; } person; person* init(int n) { person *h,*p,*tail; int i; h=(person*)malloc(sizeof(person)); h->num=1; h->next=h; tail=h; for(i=1;i<n;i++) { p=(person*)malloc(sizeof(person)); p->num=i+1; p->next=tail->next; tail->next=p; tail=p; } return h; } int deal(person *h) { person *p,*q; int n; for(n=1,p=q=h;p->next!=p;q=p,p=p->next,n++) if(n%3==0) { q->next=p->next;printf("the deleate number:\n");printf("%d\n ",p->num); free(p); p=q->next; n=1; } n=p->num; free(p); return n; } int main() { person *h; int n; printf("输入人的个数:"); scanf("%d",&n); h=init(n); printf("最后的人是: %d\n",deal(h)); return 0; }。
  

2018-04-06

30 0
1) create()函数中的return head;应在最后一个右括号之前;2) free(p)之前应添加pre的后继结点:pre->next = p->next;

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
互联网
硬件
电脑装机
程序设计
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
互联网
互联网
QQ
网站推荐
上网帮助
举报
举报原因(必选):
取消确定举报