在dev上好好的,可以正确输出。提交就出这个问题,这个习题集只能选C语言。不知道怎么弄!
上面说你的都是冲定义呀,你不发代码那就只能按上面的说呢。
不好意思,代码在这。
#include <stdio.h>
#include <stdlib.h>
typedef int ElementType;
typedef struct Node PtrToNode;
struct Node {
ElementType Data;
PtrToNode Next;
};
typedef PtrToNode List;
List Read(); / 细节在此不表 /
void Print( List L ); / 细节在此不表 */
List Reverse( List L );
List Read(){
int a;
PtrToNode p,pa;
List L=NULL;
pa=L;
scanf("%d",&a);
for(int i=0;i<a;i++){
p=(PtrToNode)malloc(sizeof(struct Node));
scanf("%d",&p->Data);
p->Next=NULL;
if(i==0)
{
L=p;
pa=p;
}else{
pa->Next=p;
pa=p;
}
}
return L;
}
void Print( List L ){
PtrToNode q=L;
while(q){
printf("%d ",q->Data);
q=q->Next;
}
printf("\n");
}
List Reverse(List L){
PtrToNode a,b,c;
List L2;
a=L;
b=a->Next;
c=b->Next;
if(L==NULL || L->Next==NULL)
return L;
a->Next= NULL;
while(b){
b->Next=a;
a=b;
b=c;
if(c)
c=c->Next;
}
L2=a;
return L2;
}
int main()
{
List L1, L2;
L1 = Read();
L2 = Reverse(L1);
Print(L1);
Print(L2);
return 0;
}
/* 你的代码将被嵌在这里 */
不知道你这个问题是否已经解决, 如果还没有解决的话: