本題要求實現一個函數,統計學生學號鏈表中專業為計算機的學生人數。鏈表結點定義如下:
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 len = 0; while(head) { if(head->code[1] == '0' && head->code[2] == '2') len++; head = head->next; } return len; }