单链表:求所有不及格人数的累计数
【摘要】
#include<iostream>
#include<malloc.h>
#include <iomanip>
using namespace std;
typede...
#include<iostream>
#include<malloc.h>
#include <iomanip>
using namespace std;
typedef int ElemType;
#define M 20
typedef struct LNode
{
ElemType data; //定义数据与
struct LNode* next; //指针域
}LNode, * LinkList;
void CreateLink(LinkList& h, ElemType a[], int n)
{
LinkList s, tc; int i;
h = (LinkList)malloc(sizeof(LinkList));
tc = h;
for (i = 0; i < n; i++)
{
s = (LinkList)malloc(sizeof(LinkList)); //头节点创建
s->data = a[i];
tc->next = s;
tc = s;
}
tc->next = NULL;
}
int Count(LinkList sl)
{
int k = 0;
LNode* p;
if (sl->next == NULL)return 0;
p = sl->next;
//不及格判断
while (p != NULL)
{
if (p->data < 60) { k++; }
p = p->next;
}
return k;
}
void main()
{
int N;
//cout << "请输入学生人数:" << endl;
cout << "学生人数为:";
cin >> N;
LinkList head;
ElemType a[M];
int i, k;
cout << "请依次输入所有学生的成绩:" << endl;
for (i = 0; i < N; i++)
scanf_s("%d", &a[i]);
cout << "所有学生的成绩依次为:" << endl;
for (i = 0; i < N; i++)
{
cout << a[i] << setw(6);
}
cout << endl;
CreateLink(head, a, N);//创建单链表
k = Count(head);//调用求计数值的函数
cout << "所有学生的成绩中不及格的人数为:" << k << "人";
cout << endl;
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
文章来源: chuanchuan.blog.csdn.net,作者:川川菜鸟,版权归原作者所有,如需转载,请联系作者。
原文链接:chuanchuan.blog.csdn.net/article/details/115862196
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)