一道程序题
大家好 小弟有一个程序 题目的意图是让说出算法功能,小弟运行了N久,可是还是不行啊 请大家帮帮忙 感激不尽哦#include<stdio.h>
#include<stdlib.h>
typedef struct node{
int data;
struct node *next;
}node,*list;
void main()
{
node *p,*h,*q,*r;
int a;
h=NULL;
scanf("%d",&a);
while(a>0)
{
p=(node*)malloc(sizeof(node));
p->data=a;
p->next=h;
h=p;
scanf("%d",&a);
}
q=p->next;
while(q!=NULL){
r=p->next;
if(r!=NULL){
q->next=r->next;
r->next=q;
p->next=r;
p=q;
q=p->next;
}
else
q=NULL;}
p=h;
while(p!=NULL)
{
printf("%d",p->data);
p=p->next;
}
}
忘记说了题目中依次输入1 2 3 4 5 6 7 8 9 0
小弟做的结果是9 7 8 5 6 3 4 1 2。感觉不是很对,请各位帮一下,如果结果不对麻烦说一下简单的过程 谢谢
[此贴子已经被作者于2005-12-18 14:24:28编辑过]