| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 608 人关注过本帖
标题:新手求助啊,这个程序通过了VC6的编译,但是输出的结果不对啊。到底是哪里出 ...
只看楼主 加入收藏
来学C语言啊
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-9-17
结帖率:50%
收藏
 问题点数:0 回复次数:2 
新手求助啊,这个程序通过了VC6的编译,但是输出的结果不对啊。到底是哪里出错了?帮忙看下,谢谢啊!
#include <stdio.h>//递增有序单链表,删除表中相同的多余元素
#include <stdlib.h>
#define DATATYPE char
typedef struct node
{
    DATATYPE data;
    struct node *next;
}LINKLIST;
void deletesame(LINKLIST *L);
int main(void)
{
    LINKLIST *head,*L,*p,*q,*t,*k;
    char ch;
    L=(LINKLIST *)malloc(sizeof(LINKLIST));
    head=L,head->next=NULL;
    while((ch=getchar())!='$')
    {
        L=(LINKLIST *)malloc(sizeof(LINKLIST));
        L->data=ch;
        p=head;
        q=head->next;
        while(q!=NULL&&q->data<=ch)
        {
            p=q;
            q=q->next;
        }
        p->next=L;
        L->next=q;
    }
    t=head->next;
    while(t!=NULL)
    {
        printf("%c",t->data);
        t=t->next;
    }
    deletesame(head);
    k=head->next;
    while(k!=NULL)
    {
        printf("%c",k->data);
        k=k->next;
    }
}
void deletesame(LINKLIST *L)
{
    LINKLIST *p,*q,*t;
    p=L->next;q=L->next->next;
    while(p!=NULL)
    {
        if(p->data==q->data)
        {
            t=q;
            p->next=t->next;
            q=q->next;
            free(t);
        }
        p=p->next;
    }
}
搜索更多相关主题的帖子: include next 
2011-09-18 20:38
nextleave
Rank: 2
等 级:论坛游民
帖 子:52
专家分:92
注 册:2011-9-12
收藏
得分:0 
q=head->next;
        while(q!=NULL&&q->data<=ch)
        {
            p=q;
            q=q->next;
        }
难道q不就等于null吗?
2011-09-18 22:43
mengcan555
Rank: 4
等 级:业余侠客
帖 子:104
专家分:253
注 册:2011-9-17
收藏
得分:0 
void deletesame(LINKLIST *L)
{
    LINKLIST *p,*q,*t;
    p=L->next;q=L->next->next;
    while(p!=NULL)
    {
        if(p->data==q->data)
        {
            t=q;
            p->next=t->next;
            q=q->next;
            free(t);
        }
        p=p->next;此处是不是应该加上q=q->next;要不然p,q值就相同了啊
    }
}
2011-09-19 21:30
快速回复:新手求助啊,这个程序通过了VC6的编译,但是输出的结果不对啊。到底是 ...
数据加载中...
 
   



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

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