Problem Description
新学期开始了,在学校勤学苦练的LeiQ有一天收到一个名单,上面有n个人的信息(姓名和地址),LeiQ知道有多少人是他的老乡以及老乡的名字。
Input
多组输入,每组的第一行是一个整数n(1<=n<=100),表示名单上人的数量。
接下来一行有一个字符串表示LeiQ的地址(1<=len<=20)
接下来n行,每行两个字符串,第一个是姓名,第二个是地址
Output
先输出老乡的名字(按照输入的顺序),最后输出老乡的人数。
Sample Input
4
Laiyang
Xiaoming Laiyang
Xiaohong Heze
Xiaohuang Laiwu
Xiaoguang Laiyang
Sample Output
Xiaoming
Xiaoguang
2
代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{ int n,i,cn;
char b[25],a[101][25],c[102][25];
while(~scanf("%d",&n))
{ cn=0;
scanf("%s",b);
for(i=0;i<n;i++)
{
scanf("%s%s",a[i],c[i]);
}
for(i=0;i<n;i++)
{
if(strcmp(b,c[i])==0)
{
printf("%s\n",a[i]);
cn++;
}
}
printf("%d\n",cn);
}
return 0;
}
二维字符串数组:第一个代表的是行 第二代表的是字符数
二位字符串数组可以用指针数组解决
本文介绍了一个使用C语言实现的程序,该程序能够从一个包含姓名和地址的名单中找出与指定地址相同的老乡,并统计人数。示例代码展示了如何读取输入,比较字符串并输出结果。
5637

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



