帮忙修改一下C语言程序,谢谢咯!

来源:百度知道 编辑:UC知道 时间:2024/07/08 01:24:13
(3) 下面的程序旨在建立一条单向链表存储线性表( a1-a2… an),然后将此线性表逆置成(an-a(n-1) … a1)。
#include<stdio.h>
struct node{
int num;
struct node *next;
}*head;

int a[10]={1,2,3,4,5,6,7,8,9,10};

main()
{
int i;
struct node *p;
if(head!=NULL){
p=_______;
p->num=a[0];
}
else{
printf("\nmemory error?");
exit(1);
}
for(i=2;i<=10;i++){
p->next=(struct node *)malloc(sizeof(struct node));
if(p->next!=NULL){
p=_______;
p->num=a[i-1];
p->next=_______;
}
else break;
}
reverse(head);
{
struct node *ptr1,*ptr2;
ptr1=p->next!NULL){
ptr2=_______;
ptr1->next=p;
p=_______;
ptr1=_______;
}
ptr1->next=P;
head->next=NULL;
head=ptr1;
}
给横线部分填空
有问题的话帮忙修改一下。。

填空吗?建立单向链表:定义头h、开辟新结点s、连结新结点r三个指针;h=开辟结构体的储存单元;r=h;循环(s=开辟新结点;s->mun=a[?];r->next=s;r=s;);r->next='\0'(尾结点);
我就知这么多望有助你

貌似程序有点问题!