用尾插法建链表并输出节点数据:程序如下
#include<stdio.h>
#include<malloc.h>
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*Linklist;
Linklist Create(int n)
{ int i;
Linklist L=(Linklist) malloc(sizeof(LNode));
struct LNode *s,*r;
r=l;
printf(“输入元素: \n”);
for(i=1,i<=n,++i)
{
s=(linklist) malloc(sizeof(LNode));
scanf(“%d”,&s->data;)
r->next=s;
r=s;
return L;
}
}
void print(Linklist head)
{
Linklist p;
p=head;
while(p!=NULL)
{printf(%d\n”,p->data);
p=p->next;
}
}
int main()
{ int n;
printf(“输入的节点数为:\n”);
printf(“%d”,&n);
Linklist create();
print();
}
#include<stdio.h>
#include<malloc.h>
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*Linklist;
Linklist Create(int n)
{ int i;
Linklist L=(Linklist) malloc(sizeof(LNode));
struct LNode *s,*r;
r=l;
printf(“输入元素: \n”);
for(i=1,i<=n,++i)
{
s=(linklist) malloc(sizeof(LNode));
scanf(“%d”,&s->data;)
r->next=s;
r=s;
return L;
}
}
void print(Linklist head)
{
Linklist p;
p=head;
while(p!=NULL)
{printf(%d\n”,p->data);
p=p->next;
}
}
int main()
{ int n;
printf(“输入的节点数为:\n”);
printf(“%d”,&n);
Linklist create();
print();
}
解决方案
50
#include<stdio.h>
#include<malloc.h>
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*Linklist;
Linklist create(int n)
{
int i;
Linklist l = (Linklist) malloc(sizeof(LNode));
struct LNode *s,*r;
r = l;
printf("输入元素: \n");
for(i = 1; i <= n; ++i)
{
s = (Linklist) malloc(sizeof(LNode));
scanf("%d", &s->data);
r->next = s;
r = s;
}
return l;
}
void print(Linklist head)
{
Linklist p;
p = head->next;
while(p) {
printf("%d\n", p->data);
p = p->next;
}
}
int main(void)
{
int n;
Linklist head = NULL;
printf("输入的节点数为:\n");
scanf("%d", &n);
head = create(n);
print(head);
return 0;
}
建议先把C语言的语法学懂了,你的这个程序里有许多语法错误,基本函数使用错误;这是最基本的,链表操作还是有一定的难度的,所以本人的建议是先学好基本的,在学习有难度的。一点点的来,一口不好吃个胖子。