用尾插法建链表并输出节点数据:程序如下
#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语言的语法学懂了,你的这个程序里有许多语法错误,基本函数使用错误;这是最基本的,链表操作还是有一定的难度的,所以本人的建议是先学好基本的,在学习有难度的。一点点的来,一口不好吃个胖子。