UVa10815 Andy's First Dictionary
题意:输入一个文本,找出所有不同的单词(连续字母序列),按字典序从小到大输出。单词不分大小写。
#include<string>
#include<set>
#include<sstream>
#include<iostream>
using namespace std;
set<string> dict;
string s, buf;
int main()
{
while(cin >> s)
{
for(int i = 0; i < s.length(); i++)
if(isalpha(s[i]))
s[i] = tolower(s[i]);
else s[i] = ' ';
stringstream ss(s);
while(ss >> buf)
dict.insert(buf);
}
for(set<string>::iterator it = dict.begin(); it != dict.end(); ++it)
cout << *it << "\n";
return 0;
}
isalpha
函数名称: isalpha
函数原型: int isalpha(char ch);
函数功能: 检查ch是否是字母.
函数返回: 是字母返回非0(在vs2015中为2) ,否则返回 0.
参数说明:
所属文件 <ctype.h>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
iscntrl
函数名称: iscntrl
函数原型: int iscntrl(int ch);
函数功能: 检查ch是否控制字符(其ASCII码在0和0x1F之间,数值为 0-31).
函数返回: 是返回非0,否则返回 0.
参数说明:
所属文件: <ctype.h>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
isdigit
函数名称: isdigit
函数原型: int isdigit(char ch);
函数功能: 检查ch是否是数字(0-9)
函数返回: 是返回非0,否则返回0
参数说明:
所属文件: <ctype.h>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|