当前位置: 代码迷 >> C语言 >> 各位高手帮帮忙
  详细解决方案

各位高手帮帮忙

热度:252   发布时间:2005-09-24 16:59:00.0
各位高手帮帮忙
晚辈在调试一个小程序joseph环时,怎么程序已经编译通过但总已运行就
被关了请教各位高手帮个忙
程序如下
#include <stdio.h>
#include<stdlib.h>
#include<iostream.h>
struct Node {int no;
int password;
struct Node *next;
}Node;
typedef struct Node* Lnode;
int Fill_thelist(int n,int password[],Lnode &head)
{int i;
Lnode p,q;
head=p=(Lnode)malloc(sizeof(struct Node));
if(!p) return 0;
for(i=1;i<=n;i++)
{p->no=i;
  p->password=password[i-1];
  q=(Lnode)malloc(sizeof(struct Node));
  if(!q)return 0;
  p->next=q;
  p=q;
}
p->next=head;
return 1;
}
int main(int argc,char *argv[])
{
    Lnode head,p,q;
    int i,m,n,s;
    int password[30];
    m=atoi( argv[2] );
    n=atoi( argv[1] );
    for(i=1;1<=n;i++)
        password[i-1]=atoi( argv[i+1] );
    Fill_thelist(n,password,head);
    p=head;
    for(i=1;i<m%n;i++)
    {p=p->next;}
    s=p->password;
    while (p!=p->next)
    {
        for(i=1;i<s;i++)
        {q=p;p=p->next;}
    q->next=p->next;
    p->next=NULL;
    s=p->password;
    cout<<p->no<<endl;
    free(p);
    p=q->next;
    }
    cout<<p->no<<endl;
    head=NULL;
    free(p);
    return 0;
}
搜索更多相关的解决方案: head  next  password  include  return  

----------------解决方案--------------------------------------------------------
你给程序传递参数了吗?

如果没有传递参数,你的程序是执行不了的。最好判断一下argc的值,如果没有传递参数就让输入。
----------------解决方案--------------------------------------------------------
  相关解决方案