我想用链表实现输入N个数,从大到小的顺序输出,不知道那里错了,可以运行,但没结果!!可以帮忙看看吗??!不胜感激!!!
>> 本文固定链接: http://www.vcgood.com/archives/1872
>> 转载请注明: yipiantiannick 2007年10月15日 于 C语言帝国 发表
我想用链表实现输入N个数,从大到小的顺序输出,不知道那里错了,可以运行,但没结果!!可以帮忙看看吗??!不胜感激!!!
>> 本文固定链接: http://www.vcgood.com/archives/1872
>> 转载请注明: yipiantiannick 2007年10月15日 于 C语言帝国 发表
你必须先 登录才能发表评论。
/* Note:Your choice is C IDE */
#include “stdio.h”
struct l
{int i;
struct l *next;
}
main()
{int ch;
struct l *p,*q,*t;
scanf(“%d,”,&ch);
t=p=(struct l*)malloc(sizeof(struct l));
p->i=ch;
p->next=NULL;
scanf(“%d,”,&ch);
while(ch!=’#')
{p=(struct l*)malloc(sizeof(struct l));
p->i=ch; p->next=NULL;
q=t;
while(q!=NULL)
{if(q->i<p->i){p->next=q; scanf(“%d,”,&ch); q=NULL;}
if((q->i>p->i)&&(q->next==NULL)){q->next=p; scanf(“%d,”,&ch); q=NULL;}
if((q->next!=NULL)&&(q->i>p->i)&&(q->next->i<p->i))
{p->next=q->next; q->next=p; scanf(“%d,”,&ch); q=NULL;}
q=q->next;
}
}
printf(“ok”);
while(t!=NULL)
{printf(“%d,”,t->i); t=t->next;}
}
这么乱,,,,你可以设计一个更好的啊,,先把所有的数都放到链表里,,再拿里面的数比较排序,,我看到你这个头都晕了,,,