| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 475 人关注过本帖
标题:约瑟夫问题。输出的值总是变成地址了,求帮忙解答!!!!!!!
取消只看楼主 加入收藏
书生小白
Rank: 2
等 级:论坛游民
帖 子:39
专家分:16
注 册:2011-6-14
结帖率:42.86%
收藏
已结贴  问题点数:20 回复次数:0 
约瑟夫问题。输出的值总是变成地址了,求帮忙解答!!!!!!!
#include <iostream>
using namespace std;
typedef struct date
{
    public:
    int num;//存放序号
    int pwd;//存放密码
    struct date *next;
}dateNode;
int main()
{
    int i=1,a,m,n;
    date *p,*q,*head;
    head=new dateNode;
    cout<<"请输入人数的个数";//循环人数
    cin>>a;
    if(a<0)
        cout<<"输入错误,请重新输入";
    p=head;
    cout<<"密码必须为正整数"<<endl;
    for(i=1;i<=a;i++)//建立链表
    {
        p->next=new dateNode;
        p->num=i;
        cout<<"请给"<<p->num<<"号人设置密码";//设置初始化数据
        cin>>m;
        if(m<1)
        {
            cout<<"输入错误";
            return 0;
        }
        p->pwd=m;
        p=p->next;
        if(i==a)
        {
            p->next=head->next;
            break;
        }
    }
    cout<<"请输入第一个随机密码";
    cin>>n;
    if(n<1)
    {   
        cout<<"输入错误";
        return 0;
    }
    q=p=head;
    for(i=1;i<=a;i++)
    {
        cout<<p->num<<"   "<<p->pwd<<endl;
        p=p->next;
    }
    for(i=0;i<=n;i++)//显示出列人的序号
    {
        
        if(i==n-1)
        {
            q=p;
            n=p->pwd;//保存该序号人的密码
            cout<<"出列人的序号:";
            cout<<p->num<<endl;
        
            p->next=q->next->next;//将前一个结点和后一个结点连接起来
            p=p->next;
            q=q->next;
            
            
            delete q;//释放结点
            i=0;//初始化i的值
            continue;
        }
        p=p->next;
        
    }
    //system("pause");

    return 0;
}


[ 本帖最后由 书生小白 于 2011-9-17 18:28 编辑 ]
搜索更多相关主题的帖子: head next include 约瑟夫 public 
2011-09-17 18:13
快速回复:约瑟夫问题。输出的值总是变成地址了,求帮忙解答!!!!!!!
数据加载中...
 
   



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

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