C语言编程题
** 编写程序,函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。请完善函数Creatlink的函数体,使该程序能得出正确的结果**
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct aa
{ int data;
struct aa *next;
} NODE;
NODE *Creatlink(int n, int m) //创建带头结点的单链表
{
NODE *h,*p,*q;
int i;
h=q=(NODE*)malloc(sizeof(NODE) ); //创建头结点,同时表尾也是它
h->next=NULL;
for(i=1;i<=n;i++)
{
p=(NODE*)malloc(sizeof(NODE) );
p->data=rand()%m;
p->next=NULL;
q->next=p;
q=p;
}
return h;
}
void outlink(NODE *h) //输出链表
{ NODE *p;
p=h->next;
printf("\n\nTHE LIST :\n\n HEAD ");
while(p)
{ printf("->%d ",p->data);
p=p->next;
}
printf("\n");
}
void main()
{ NODE *head;
head=Creatlink(8,22);
outlink(head);
}
运行示例
C语言不迷路。
需要分析可以到微信公众号发送问题或者在评论区留言,有问必答!
想了解我的C语言学习笔记等更多知识请关注公众号:
量子云基地