6-2 统计专业人数 (8 分)

本博客介绍如何使用C语言编写一个函数,该函数接收一个学生学号链表,统计其中专业编号为02(计算机专业)的学生人数。通过函数接口定义、裁判测试程序样例以及输入输出样例,帮助读者理解如何遍历链表并进行条件判断。

本题要求实现一个函数,统计学生学号链表中专业为计算机的学生人数。链表结点定义如下:

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;
}

此题是为了掌握循环读取链表的每一个数据,学会循环语句即可。 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值