统计专业人数 (10 分)

6-7 统计专业人数 10 分)

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

struct ListNode {

    char code[8];

    struct ListNode *next;

};

这里学生的学号共7位数字,其中第23位是专业编号。计算机专业的编号为02

函数接口定义:

int countcs( struct ListNode *head );

其中head是用户传入的学生学号链表的头指针;函数countcs统计并返回head链表中专业为计算机的学生人数。

裁判测试程序样例:

#include

#include

#include

 

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 num=0;
    struct ListNode *p=head;
    
    while(p)
    {
        if(p->code[1]=='0'&&p->code[2]=='2')
            num++;
        
        p=p->next;
    }
    
    return num;
}

 

你可能感兴趣的:(PTA题目集)