1442: Neo 的简单字符串
时间限制: 10 Sec 内存限制: 128 MB题目描述
Neo 给你一系列字符串,请你输出字符串中的不同单词个数以及总单词个数。
输入
多组输入,每组数据都是一行字符串(长度小于200),其中每个单词以空格隔开(单词都是小写字母组成)。
输出
输出字符串中的不同单词个数以及总单词个数。
样例输入
i love china
aa aa bb
样例输出
3 3
2 3
#include<cstdio>
#include<iostream>
#include<cstring>
#define maxn 205
using namespace std;
char s[maxn][maxn],t[maxn],c;//s[maxn][maxn]用来存放不同的单词 ,统计个数。t用来存放每次刚输入的单词
int main()
{
int num,pre;
while(scanf("%s%c",s[0],&c)!=EOF)
{
num = 1,pre = 1;
while(c != '\n')
{
scanf("%s%c",t,&c);
bool same = false;
for(int i = 0;i<num;i++) //与已经存放的不同的单词比较,看是否相同
{
if(strcmp(s[i],t)==0)
same = true;
}
if(!same)//不同,存放进s[maxn][maxn]
{
strcpy(s[num++],t);
}
pre++;
}
cout<<num<<" "<<pre<<endl;
}
return 0;
}
输入单词时,采用scanf("%s",s[num++]),可以很方便的输入单词。当遇见非空格时说明读入一个单词,遇见空格时说明单词读入结束。
字母c可以标记字符串是否读入结束,当c是'\n'时说明字符串读入结束,否则则没有。