| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 436 人关注过本帖
标题:关于编译错误
只看楼主 加入收藏
rongtion
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-11-2
收藏
 问题点数:0 回复次数:1 
关于编译错误
请高手帮我调试一下以下程序,为什么总是出现编译错误
#include "stdio.h"
#include "malloc.h"
#include "conio.h"
typedef struct node
  { int No;
      struct node* next;
  } node,*Link;
  /******************** /
  /*建立单循环连表   * /
  /*******************/
  
  Link CreatRing(int n)
  { int i;
      Link head=NULL,tail=NULL;
      for(i=1;i<=n;i++)
        {if (i==1) head=tail=(Link)malloc(sizeof(node));
         else
          {   tail.next=(Link)malloc(sizeof(node));
              tail=tail.next;
          }
          tail.NO=i;
          tail.next=null;
        }
      tail.next=head;
      return(head);  
  }
  /*删除结点*/
  Link Delete(Link s)
  {
      link p=s;
      while(p.next!=s)
      p=p.next;
      p.next=s.next;
      free(s);
      return(p.next);
  }
 void josephu(Link p, int n ,int ,int k)
  { int i,j;
       printf("出列的序号为:  \n");
       for(i=1;i<k;i++)
         p=p.next;
        for(i=0;i<n,i++)
        { for(j=1;j<m;j++)
            p=p.next;
            printf("%d,",p.No);
            p=Delete(p);
        }
        printf("\n");
  }
  void main()
  { int n,m,k;
      Link head=NULL;
      printf("\n 输入总人数n:");
      scanf("%d",&n);
      printf("\n 输入起始序号K:");
      scanf("%d",&k);
      printf("\n 输入M:");
      scanf("%d",&m);
      head=CreatRing(n);
      Josephu(head,n,m,k);
      getch();
      }
搜索更多相关主题的帖子: 编译 
2008-11-02 14:29
wsq1986
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-10-13
收藏
得分:0 
#include "stdio.h"
#include "malloc.h"
#include "conio.h"
typedef struct node
  { int No;
      struct node* next;
  } node,*Link;
  /******************** /
  /*建立单循环连表   * /
  /*******************/
  
  Link CreatRing(int n)
  { int i;
      Link head=NULL,tail=NULL;
      for(i=1;i<=n;i++)
      {    
          if (i==1)
        head=tail=(Link)malloc(sizeof(node));
         else
          {  tail->next=(Link)malloc(sizeof(node));
              tail=tail->next;
          }
          tail->No=i;
          tail->next=NULL;
        }
      tail->next=head;
      return(head);  
  }
  /*删除结点*/
  Link Delete(Link s)
  {
      Link p=s;
      while(p->next!=s)
      p=p->next;
      p->next=s->next;
      free(s);
      return(p->next);
  }
void josephu(Link p, int n ,int m ,int k)
  { int i,j;
       printf("出列的序号为:  \n");
       for(i=1;i<k;i++)
         p=p->next;
       for(i=0;i<n;i++)
        { for(j=1;j<m;j++)
            p=p->next;
            printf("%d",p->No);
            p=Delete(p);
        }
        printf("\n");
  }
  void main()
  { int n,m,k;
      Link head=NULL;
      printf("\n 输入总人数n:");
      scanf("%d",&n);
      printf("\n 输入起始序号K:");
      scanf("%d",&k);
      printf("\n 输入M:");
      scanf("%d",&m);
      head=CreatRing(n);
      josephu(head,n,m,k);
      getch();
      }
编译没问题了 不过我没明白这程序是玩什么的...你自己试试符合你的想法不?
.和->是有区别的...
2008-11-04 21:08
快速回复:关于编译错误
数据加载中...
 
   



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

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