统计顺序表中学生的个数,给我写一个函数
时间: 2024-03-28 16:39:18 浏览: 80
好的,以下是一个用 C 语言编写的函数,用于统计顺序表中学生的个数:
```c
#include <stdio.h>
#define MAXSIZE 100 // 假设顺序表的最大长度为 100
typedef struct {
int id; // 学生编号
char name[20]; // 学生姓名
int age; // 学生年龄
} Student;
typedef struct {
Student data[MAXSIZE]; // 学生信息存储在数组中
int length; // 顺序表的当前长度
} SqList;
int count_students(SqList L) {
int count = 0;
for (int i = 0; i < L.length; i++) {
if (L.data[i].id != 0) { // 假设学生编号为 0 的为无效数据
count++;
}
}
return count;
}
```
这个函数首先定义了一个结构体 `Student`,用于存储每个学生的编号、姓名和年龄。然后定义了另一个结构体 `SqList`,用于存储顺序表中的所有学生信息。在 `count_students` 函数中,遍历顺序表中的所有元素,如果学生编号不为 0,则将计数器加 1。最后返回计数器的值,即为顺序表中学生的个数。
使用时,可以先创建一个 `SqList` 类型的变量,并将其中的学生信息填充完整,然后调用 `count_students` 函数即可统计学生个数。
阅读全文