主题:急!小弟的程序设计,不知道哪里有错,请各位高手指点!
题目:采用单链表作存储结构,编写一个程序采用选择排序方法进行升序排序。
这是小弟我编的,虽然能运行,但是输出结果却是ASCⅡ码的,求各位高手帮我改改,谢谢啦!
#include <stdio.h>
#include <alloc.h>
typedef int datatype;
typedef struct node
{
datatype data;
struct node *next;
} linklist;
linklist *head;
linklist *CREATLISTF()
{
int ch;
linklist *head,*s;
head=NULL;
ch=getchar();
while(ch!=1)
{
s=malloc(sizeof(linklist));
s->data=ch;
s->next=head;
head=s;
ch=getchar();
}
return head;
}
PRINTF(linklist *head)
{
while (head!=NULL)
{
printf("%d",head->data);
head=head->next;
}
}
void select(linklist *L)
{ linklist *p,*s,*r,*q;
p=q=L->next;
while(L!=NULL)
{ p=q=L;
while(p!=NULL)
{ if(p->data<q->data)
{r=q;q=p;p=r;}
p=p->next;
}
L=L->next;
}
}
main()
{
linklist *t,*n;
t=CREATLISTF();
n=PRINTF(t);
select(t);
PRINTF(t);
}
这是小弟我编的,虽然能运行,但是输出结果却是ASCⅡ码的,求各位高手帮我改改,谢谢啦!
#include <stdio.h>
#include <alloc.h>
typedef int datatype;
typedef struct node
{
datatype data;
struct node *next;
} linklist;
linklist *head;
linklist *CREATLISTF()
{
int ch;
linklist *head,*s;
head=NULL;
ch=getchar();
while(ch!=1)
{
s=malloc(sizeof(linklist));
s->data=ch;
s->next=head;
head=s;
ch=getchar();
}
return head;
}
PRINTF(linklist *head)
{
while (head!=NULL)
{
printf("%d",head->data);
head=head->next;
}
}
void select(linklist *L)
{ linklist *p,*s,*r,*q;
p=q=L->next;
while(L!=NULL)
{ p=q=L;
while(p!=NULL)
{ if(p->data<q->data)
{r=q;q=p;p=r;}
p=p->next;
}
L=L->next;
}
}
main()
{
linklist *t,*n;
t=CREATLISTF();
n=PRINTF(t);
select(t);
PRINTF(t);
}