设计算法,根据输入的学生人数和成绩建立一个单链表,并累计成绩不及格的人数。

设计算法,根据输入的学生人数和成绩建立一个单链表,并累计成绩不及格的人数。
要求:
(1)学生人数和成绩均从键盘输入;
(2)输出所有学生的成绩和不及格的人数。

#include<stdio.h>
#include<malloc.h>
typedef int ElemType;
typedef struct node
{
	ElemType data;
	struct node *next;
} StudNode, *StudLink;

void create(StudLink &sl)
{
	int i, n, score;
	StudNode *s, *r;
	sl = (StudNode*)malloc(sizeof(StudNode));
	r = sl;
	printf("学生人数:");
	scanf_s("%d", &n);
	for (i = 0; i < n; i++){
		s = (StudNode*)malloc(sizeof(StudNode));
		printf("输入成绩:");
		scanf_s("%d", &score);
		s->data = score;
		r->next = s;
		r = s;
	}
	r->next = NULL;
}
int output(StudLink sl)
{
	StudNode *q;
	if (sl->next == NULL) return 0;
	q = sl->next;
	while (q != NULL)
	{
		printf("%d\t", q->data);
		q = q->next;
	}
}
int count(StudLink sl)
{
	int n = 0;
	StudNode *p = sl->next;
	while (p != NULL)
	{
		if (p->data < 60) n++;
		p = p->next;
	}
	return n;
}
void main()
{
	int n;
	StudLink h;
	create(h);
	n = count(h);
	printf("所有学生的成绩:");
	output(h);
	printf("\n不及格人数:%d\n", n);
}

在这里插入图片描述

欢迎访问我的博客https://www.ndmiao.cn/

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NDMIAO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值