SMU 算法题:Weijie 的客人名单
题目:
去年的主人公Weijie 要离开海事大学了,于是大家决定帮他举行欢送宴会。
BobWu 很想知道究竟有多少人参加了Weijie 的欢送宴会,于是他弄来了客人名单。名单有N 行,但是其中有很多重复的名字,比方BOBWU > 和BobWu 其实指的都是同一个人,但是名单上的名字却区分大小写重复出现了。
BobWu 想知道去除重复的名字以后究竟有哪些客人。
具体可见:http://mstc.shmtu.edu.cn/oj/problem.php?cid=1003&pid=1
写了半天……结果还是问了师匠:
#include <stdio.h>
#include <string.h>
int main(void)
{
int n, i, count, j, found;
char cache[200][51];
char line[255], name[51];
gets(line);
sscanf(line, "%d", &n);
for (i = count = 0; i < n; ++i) {
gets(name);
for (j = found = 0; j < count; ++j) {
if (stricmp(cache[j], name) == 0) {
found = 1;
break;
}
}
if (!found) {
strcpy(cache[count++], name);
}
}
printf("%d\n", count);
for (i = 0; i < count; ++i) {
printf("%s\n", cache[i]);
}
return 0;
}
stricmp()
不区分大小写,sscanf()
可扩展阅读:http://www.cnblogs.com/gmh915/archive/2009/09/30/1576995.html
其实效率不高……只是应付题目而已。
植入部分
如果您觉得文章不错,可以通过赞助支持我。
如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。