两行输入 第一行为正整数n 第二行为整形数据 数据之间以空格作为区分
供参考:
#include <stdio.h>
#include <stdlib.h>
typedef struct list {
int data;
struct list* next;
}*LinkList, Lnode;
void Creatlist(LinkList* L) //创建不带头结点的单链表
{
int n, i;
LinkList p, newp;
printf("请输入单链表的元素个数:");
scanf("%d", &n);
printf("请输入%d个元素值,数据间以空格区分:\n", n);
for (i = 0; i < n; i++)
{
newp = (LinkList)malloc(sizeof(Lnode));
if (!newp) return;
newp->next = NULL;
scanf("%d", &newp->data);
if ((*L) == NULL)
(*L) = newp;
else
p->next = newp;
p = newp;
}
}
void Printlist(LinkList L) //打印输出单链表数据
{
LinkList p = L;
while (p) {
printf(p == L ? "%d" : " %d", p->data);
p = p->next;
}
}
int main()
{
LinkList L = NULL;
Creatlist(&L);
Printlist(L);
return 0;
}