6-2 sdut-C语言实验-逆序建立单链表
分数 12
全屏浏览
切换布局
作者 马新娟
单位 山东理工大学
输入N个整数,按照输入的相反顺序建立单链表存储,并遍历所建立的单链表,输出这些数据。
函数接口定义:
struct NODE *creat_node(int n);
参数n 为建立链表结点的个数。函数须返回单链表的地址。
void printf_node(struct NODE *head);
参数head为链表的头指针。函数不需返回。
裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如: #include<stdio.h> #include<stdlib.h> struct NODE{ int data; struct NODE *next; }; struct NODE *creat_node(int n); void printf_node(struct NODE *head); int main() { int n; scanf("%d",&n); struct NODE *p=creat_node(n); printf_node(p); return 0; } /* 请在这里填写答案 */
输入样例:
1. 8 2. 12 56 4 6 55 15 33 62
输出样例:
62 33 15 55 6 4 56 12
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
struct NODE *creat_node(int n) { struct NODE *head,*p; head=(struct NODE*)malloc(sizeof(struct NODE)); head->next=NULL; for(int i=0;i<n;i++) { struct NODE *p; p=(struct NODE*)malloc(sizeof(struct NODE)); scanf("%d",&p->data); p->next=head->next; head->next=p; } return head; } void printf_node(struct NODE *head) { struct NODE *p; p=head->next; while(p!=NULL) { if(p->next==NULL) { printf("%d\n",p->data); } else { printf("%d ",p->data); } p=p->next; } }