C语言问题:建立一个有三个结点的链表,然后输出每个结点的数据。

来源:百度知道 编辑:UC知道 时间:2024/06/04 13:06:27
要求:
建立一个有三个结点的链表,然后输出每个结点的数据。要求每个结点有三个成员:num(char),score(int),next(指针)
请各位高手帮忙啊!
为什么都那么复杂啊,看着就头晕了……

//---------------------------------------------------------------------------

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
typedef struct node{
char num;
int score;
struct node *next;
} node;
node *create(int n) /*创建有n个结点的单链表*/
{
node *rt=NULL;
node *now;
node *nt=NULL;
int i;
srand(time(NULL));
for (i = 0,rt=now=malloc(sizeof(node)); i<n; i++) {
if (i) {
nt=malloc(sizeof(node));
nt->next=NULL;
nt->num=rand()%26+'a'; /*对数据域值,此处采用随机数赋值,可以改为从键盘输入*/
nt->score=rand()%101; /*对数据域值,此处采用随机数赋值,可以改为从键盘输入*/
now->next=nt;
now=now->next ;
}
else{
now->num=rand()%26+'a'; /*对数据域值,此处采用随机数赋值,可以改为从键盘输入*/
now->score=rand()%101; /*对数据域值,此处采用随机数赋值,可以改为从键盘输入*/
now->next=NULL;
}

}
return rt;
}<