题干
当前,同学们对参加某学科竞赛的积极性很高,纷纷在报名表上填写了自己的学号和姓名。但是,存在有些学生忘记了填写报名表,也有些学生多次填写了报名表。请编写程序,查看某学生填写报名表的次数。
输入格式:
第一行输入报名表的行数N(0<=N<10000).
接下来输入N行,每行包含学号(6位正整数)和姓名(长度不超过10个的汉字字符)
最后一行是待查询的学生的学号(6位正整数)。
输出格式:
在一行中输出该学生填写报名表的次数。
输入样例:
5
210203 张三
210204 李四
210205 王五
210206 周六
210203 张三
210203
输出样例:
2
解答过程
#include <stdio.h>
#include <string.h>
#define MAX_NAME_LENGTH 11
int main() {
int n;
scanf("%d", &n);
int student_count = 0;
int student_id[MAX_NAME_LENGTH];
char name[MAX_NAME_LENGTH][MAX_NAME_LENGTH];
for (int i=0;i<n;i++){
scanf("%6d%s",&student_id[i],name[i]);
int name_length=strlen(name[i]);
for (int j=0;j<name_length;j++){
if (name[i][j]<'A'||name[i][j]>'Z'){
name[i][j]=tolower(name[i][j]);
}
}
student_count++;
}
int query_id;
scanf("%6d",&query_id);
int count=0;
for (int i=0;i<n;i++){
if (student_id[i]==query_id){
count++;
}
}
printf("%d\n", count);
return 0;
}