C语言程序设计----编程部分答案解析
编程题目10
1正向建立单链表。(25分)
题目内容:输入若干个正整数(输入-1为结束标志),要求按输入数据的逆序建立单链表并输出。
输入格式:一行内输入若干个正整数,之间用空格隔开,并以-1结束。
输出格式:一行内输出建立的单链表数据结果,之间用两个分隔符 – 隔开,结束标志-1不输出。
输入样例:2 4 6 8 10 -1
输出样例:–2--4–6--8–10
时间限制:500ms 内存限制:32000kb
代码:
#include<stdio.h>
#include<malloc.h>
#include<math.h>
typedef struct node{
int data;
struct node *next;
}node,* LinkList;
LinkList list;
void init()
{
LinkList p,q;
q=(LinkList)malloc(sizeof(node));
list=q;
scanf("%d",&(q->data));
q->next=NULL;
while(q->data>=0)
{
p=(LinkList)malloc(sizeof(node));
scanf("%d",&(p->data));
p->next=NULL;
q->next=p;
q=p;
}
p=list;
while(p->data>