提交与自己学号相邻的两位同学的学号与一门考试成绩,编程建立由这三组数据结点组成的简单链表
样例输入
201 98 202 94 203 89
样例输出
[num=201,score=98]
[num=202,score=94]
[num=203,score=89]
#include<stdio.h>
#include<stdlib.h>
typedef struct Node{
int num;
int score;
struct Node *next;
}Node,*Linklist;
void initLinklist(Linklist &l)
{
l=(Node *)malloc(sizeof(Node));
l->next=NULL;
}
void add(Linklist &l,int i,int num,int score)
{
Node *p;
int j=0;
p=l;
for(;j<i-1;j++)
{
p=p->next;
}
Node *s;
s->num=num;
s->score=score;
s->next=p->next;
p->next=s;
printf("%d %d",s->num,s->score);
}
int main(){
Linklist L;
initLinklist(L);
int num,score;
int i;
for(i=1;i<=3;i++)
{
scanf("%d,%d",&num,&score);
add(L,i,num,score);
}
}

C语言,建立由这三组数据结点组成的简单链表
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- _GX_ 2022-09-21 17:58关注
#include <stdio.h> #include <stdlib.h> typedef struct Node { int num; int score; struct Node *next; } Node, *Linklist; void initLinklist(Linklist &l) { l = (Node *)malloc(sizeof(Node)); l->next = NULL; } void add(Linklist &l, int i, int num, int score) { Node *p; int j = 0; p = l; for (; j < i - 1; j++) { p = p->next; } Node *s = (Node *)malloc(sizeof(Node)); s->num = num; s->score = score; s->next = p->next; p->next = s; } void printLinklist(Linklist &l) { Node *p = l->next; while (p) { printf("[num=%d,score=%d]\n", p->num, p->score); p = p->next; } } void destroyLinklist(Linklist &l) { Node *p = l; while (p) { Node *q = p; p = p->next; free(q); } l = NULL; } int main() { Linklist L; initLinklist(L); int num, score; int i; for (i = 1; i <= 3; i++) { scanf("%d%d", &num, &score); add(L, i, num, score); } printLinklist(L); destroyLinklist(L); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 8无用 8