C语言【问题描述】提交与自己学号相邻的两位同学的学号与一门考试成绩,编程建立由这三组数据结点组成的简单链表。 【输入形式】三组同学的学号后三位,成绩 【输出形式】链表各节点的数据 【样例输入】201,98 202,94 203,89 【样例输出】】[num=201,score=98] [num=202,score=94] [num=203,score=89] 【样例说明】输入三组数据,创建一个单链表 【评分标准】
时间: 2024-02-25 12:57:22 浏览: 107
C语言——建立一个链表表示学生的信息(学号、姓名、分数)
4星 · 用户满意度95%
以下是使用C语言实现的代码,可以完成你的要求:
```c
#include <stdio.h>
#include <stdlib.h>
struct node {
int num;
int score;
struct node* next;
};
int main() {
struct node *head, *p, *q, *r;
int num1, score1, num2, score2, num3, score3;
// 输入三组数据
scanf("%d,%d", &num1, &score1);
scanf("%d,%d", &num2, &score2);
scanf("%d,%d", &num3, &score3);
// 构造链表
p = (struct node*) malloc(sizeof(struct node));
p->num = num1;
p->score = score1;
q = (struct node*) malloc(sizeof(struct node));
q->num = num2;
q->score = score2;
r = (struct node*) malloc(sizeof(struct node));
r->num = num3;
r->score = score3;
p->next = q;
q->next = r;
r->next = NULL;
head = p;
// 输出链表各节点的数据
p = head;
while (p) {
printf("[num=%d,score=%d] ", p->num, p->score);
p = p->next;
}
return 0;
}
```
以上代码实现了输入三组数据后,创建了一个由三个节点组成的简单链表,并输出了链表各节点的数据。
阅读全文