题目大意
输入一个句子,计算有多少个不同的单词
解题思路
1.因为是单词 所以无法利用 map 统计单个字符的数量的方法来统计不同的单词数量
2.如果 用 set 函数 遍历句子长度,将字符插入 set 中也是无法实现计算数量
3.那么需要利用思考set 的用法 ,再 进行计数
坑点
1.无
算法一: 字符串+set
实现步骤
1. 定义一个set 函数
2. 利用 while(cin>> 字符串)
3.将字符串 插入 set 中 ,最后输出 set 大小
代码
#include<bits/stdc++.h>
using namespace std;
set<string> b;//定义一个 string 类型的 set b 进行去重
int main()
{
string s;
//cin>>s;
//for(int i=0;i<=s.length();i++) 这样遍历
//{
// b.insert(s[i]); 再将字符插入 ,得到的是错误的
//}
while(cin>>s)//当读入字符串时 cin 会将空格进行读入
{
b.insert(s);//这里要注意是要将 字符串名 插入到 b 中,而不是 s[i]
}
cout<<b.size();//最终直接输出set 的大小
return 0;
}