本题要求实现一个函数,统计学生学号链表中专业为计算机的学生人数。链表结点定义如下
时间: 2023-03-20 11:08:47 浏览: 57
链表结点定义如下:
struct Student {
int id; // 学号
string name; // 姓名
string major; // 专业
Student* next; // 指向下一个结点的指针
};
实现函数 countComputerMajor,输入参数为链表头指针,返回值为专业为计算机的学生人数。
相关问题
本题要求实现一个函数,统计学生学号链表中专业为计算机的学生人数。链表结点定义如下:\n\nstruct listnode {\n char code[8];\n struct listnode *
该函数需要遍历整个学生学号链表,对于每个结点,判断其专业是否为计算机,如果是,则计数器加一。最终返回计数器的值即可。
具体实现可以参考以下代码:
int count_computer_students(struct listnode *head) {
int count = ;
struct listnode *p = head;
while (p != NULL) {
if (strcmp(p->major, "计算机") == ) {
count++;
}
p = p->next;
}
return count;
}
其中,head为链表头结点,major为链表结点中存储专业的成员变量。使用while循环遍历链表,对于每个结点,判断其专业是否为计算机,如果是,则计数器加一。最终返回计数器的值即可。
本题要求实现一个函数,统计学生学号链表中专业为计算机的学生人数。链表结点定义如下: struct ListNode { char code[8]; struct ListNode *next; }; 这里学生的学号共7位数字,其中第2、3位是专业编号。计算机专业的编号为02。
好的,根据您的要求,我可以编写如下的函数来实现统计计算机专业的学生人数:
```c
int countComputerStudents(struct ListNode *head) {
int count = 0;
struct ListNode *p = head;
while (p != NULL) {
if (p->code[1] == '0' && p->code[2] == '2') { // 判断专业编号是否为02
count++;
}
p = p->next;
}
return count;
}
```
这个函数的参数是一个指向链表头结点的指针,返回值是专业为计算机的学生人数。我们通过遍历链表,对每个结点的专业编号进行判断,如果是计算机专业,则将计数器加1。最后返回计数器的值即可。