| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 743 人关注过本帖
标题:[求助]用VC++写的约瑟夫环 测试不通过
取消只看楼主 加入收藏
琪尔默默
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-4-14
收藏
 问题点数:0 回复次数:0 
[求助]用VC++写的约瑟夫环 测试不通过

小妹我学的不好,还请大家帮帮改改~谢了
程序是没有错误了 但是测试数据不对
m=20 n=7 7个人密码分别为3 1 7 2 4 8 4时
出列顺序应该是6 1 4 7 2 3 5
可我得不出这个答案

#include<iostream.h>

struct LNode{
int data,code;
LNode *next;
};

int m,n;

void Create(LNode *head) //初始化单向循环链表
{
LNode *p;
int i;
cout<<"输入各人密码:"<<endl;
head->data=1;
cin>>head->code ;
p=head;
for(i=2;i<=n;i++) {
LNode *s=new LNode;
s->data=i;
cin>>s->code;
p->next=s;
p=s ;
}
p->next=head;
}

int Put(LNode *q) //处理出列顺序
{
int i;
LNode *p;
p=q;
while(n!=1) {
for(i=1;i<m;i++){
p=p->next;
}
q=p->next;
p->next=q->next;
m=q->code;
cout<<q->data<<endl;
delete q;
n--;
i=1;
}
return p->data;
}

void main()
{
LNode *head,*q;
head=new LNode;
q=head;
cout<<"输入初始报数上限值m: "<<endl;
cin>>m;
cout<<"输入人数n: "<<endl;
cin>>n;
Create(head);
cout<<"出列顺序为: "<<endl;
Put(q);
}

搜索更多相关主题的帖子: 约瑟夫 
2006-07-05 22:14
快速回复:[求助]用VC++写的约瑟夫环 测试不通过
数据加载中...
 
   



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

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