找老乡
Time Limit: 1000MS Memory Limit: 65536KB
Problem Description
新学期开始了,在学校勤学苦练的LeiQ有一天收到一个名单,上面有n个人的信息(姓名和地址),LeiQ知道有多少人是他的老乡以及老乡的名字。
Input
多组输入,每组的第一行是一个整数n(1<=n<=100),表示名单上人的数量。
接下来一行有一个字符串表示LeiQ的地址(1<=len<=20)
接下来n行,每行两个字符串,第一个是姓名,第二个是地址
Output
先输出老乡的名字(按照输入的顺序),最后输出老乡的人数。
Example Input
4
Laiyang
Xiaoming Laiyang
Xiaohong Heze
Xiaohuang Laiwu
Xiaoguang Laiyang
Example Output
Xiaoming
Xiaoguang
2
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct stu
{
char name[102], ad[102];
}p[102];
int main(void)
{
char s[102];
int i, m, w;
while(scanf("%d", &m) != EOF)
{
w = 0;
scanf("%s", s);
for(i = 0; i < m; i++)
{
scanf("%s %s", p[i].name, p[i].ad);
}
for(i = 0; i < m; i++)
{
if(strcmp(s, p[i].ad) == 0)
{
printf("%s", p[i].name);
printf("\n");
w++;
}
}
printf("%d\n", w);
}
return 0;
}
//居然做到了老乡出的题 心里有点小激动~~·
//本题学习到了 struct stu 的用法。
struct stu
{
int num;
char name[20];
char sex;
float score;
}a[100];
这样就定义了stu型的有100个存储空间的a数组。
组就是一串连续的存储数据的空间。因为内存空间是连续的