| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 559 人关注过本帖
标题:再次麻烦大家一下,帮忙调试下!!!谢谢!!
只看楼主 加入收藏
笔墨痕干
Rank: 1
等 级:新手上路
威 望:1
帖 子:56
专家分:0
注 册:2014-3-24
结帖率:84.21%
收藏
已结贴  问题点数:20 回复次数:3 
再次麻烦大家一下,帮忙调试下!!!谢谢!!
#include<stdio.h>
#include<stdlib.h>
typedef struct Lnode
{
     int data;
     struct Lnode *next;
}ListNode;
typedef ListNode *LinkList;
LinkList Create()//创建链表。
{
     LinkList head,p,q;
     int x;
     head=(ListNode *)malloc(sizeof(struct Lnode));
     p=head;
     printf("请输入链表中的第一个输入数据\n");
     scanf("%d",&x);
     printf("请继续往链表中输入数据,以(-1)为停止输入标志\n");
     while(x!=-1)
     {
         q=(ListNode *)malloc(sizeof(struct Lnode));
         q->data=x;
         p->next=q;//建立成连接。
         p=q;//p=p->next,
         scanf("%d",&x);
     }
     p->next=NULL;
     return head;
}
void Print(LinkList head)//打印链表中的数据。
{
     LinkList p;
     p=head->next;
     printf("输出链表中的数据\n\n");
     while(p!=NULL)
     {
         printf("%4d",p->data);
         p=p->next;
     }
     printf("\n\n");
}
int Locate(LinkList head)//查找数据。
{
    int x;
    LinkList p;
    printf("请输入要查询的数据:\n\n");
    scanf("%d",&x);
    p=head->next;
    while(p!=NULL)
    {
        if(p->data==x)
            return 1;
        else
            p=p->next;
    }
    return 0;
}
void InsList(LinkList head)//插入数据。
{
    int x,i,j=0;
    LinkList p,q;
    printf("请输入要插入数据的位置和数据,格式如(x,i)\n");
    scanf("%d,%d",&i,&x);
    p=head;
    while(p!=NULL&&j<i-1)
    {
        p=p->next;
        j++;
    }
    if(j!=i-1||p==NULL)
        print("没有此位置,插入错误\n");
    else
    {
        q=(ListNode *)malloc(sizeof(struct Lnode));
        q->data=x;
        q->next=p->next;
        p->next=q;
    }
    Print(head);
}
void DelList(LinkList head)//删除数据。
{
    int i,j=0;
    LinkList p,q;
    p=head;
    printf("请输入要删除第几个结点\n\n");
    scanf("%d",&i);
    while(p!=NULL&&j<i-1)
    {
      p=p->next;
      j++;
    }
    if(p==NULL||j>i-1)
    {
        printf("输入的删除位置错误\n\n");
        return ;
    }
    else
    {
      q=p->next;
      p->next=p->next->next;
      free(q);
    }
    printf("删除后");
    Print(head);

}
 void main()
{
    int index;
    LinkList head;
    head=Create();
    Print(head);
    index=Locate(head);
    if(index==1)
        printf("\n\n有此数据\n\n");
    else
        printf("\n\n没有此数据\n\n");
    InsList(head);
    DelList(head);
}
为什么插入的地方不对啊!!!!
搜索更多相关主题的帖子: include Create include Create 
2014-04-14 09:11
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:20 
你在问编译错误?

总有那身价贱的人给作业贴回复完整的代码
2014-04-14 11:02
笔墨痕干
Rank: 1
等 级:新手上路
威 望:1
帖 子:56
专家分:0
注 册:2014-3-24
收藏
得分:0 
回复 2楼 embed_xuel
编译没错误,但是运行时有一个错误就是找不出来啊!!!!
2014-04-14 20:33
笔墨痕干
Rank: 1
等 级:新手上路
威 望:1
帖 子:56
专家分:0
注 册:2014-3-24
收藏
得分:0 
好吧我知道错在哪里了!!是我眼瞎的节奏啊!!!
2014-04-16 14:27
快速回复:再次麻烦大家一下,帮忙调试下!!!谢谢!!
数据加载中...
 
   



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

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