本题要求实现一个函数,统计学生学号链表中专业为计算机的学生人数。链表结点定义如下:
struct ListNode {
char code[8];
struct ListNode *next;
};
这里学生的学号共7位数字,其中第2、3位是专业编号。计算机专业的编号为02。
函数接口定义:
int countcs( struct ListNode *head );
其中head是用户传入的学生学号链表的头指针;函数countcs统计并返回head链表中专业为计算机的学生人数。
裁判测试程序样例:
#include <stdio.h> #include <stdlib.h> #include <string.h> struct ListNode { char code[8]; struct ListNode *next; }; struct ListNode *createlist(); /*裁判实现,细节不表*/ int countcs( struct ListNode *head ); int main() { struct ListNode *head; head = createlist(); printf("%d\n", countcs(head)); return 0; } /* 你的代码将被嵌在这里 */
输入样例:
1021202
2022310
8102134
1030912
3110203
4021205
#
输出样例:
3
int countcs( struct ListNode *head )
{
int c=0,i;
struct ListNode *p;
for(p=head;;p=p->next)
{
if(p==NULL)
break;
if(p->code[1]=='0'&&p->code[2]=='2') //容易写成if(p->code[1]==0&&p->code[2]==2)
c++;
}
return c;
}
此题是为了掌握循环读取链表的每一个数据,学会循环语句即可。
本博客介绍如何使用C语言编写一个函数,该函数接收一个学生学号链表,统计其中专业编号为02(计算机专业)的学生人数。通过函数接口定义、裁判测试程序样例以及输入输出样例,帮助读者理解如何遍历链表并进行条件判断。
816

被折叠的 条评论
为什么被折叠?



