解题思路:
注意事项:
注意:当遍历到字符串的最后,即'\0'结束符时,需要把最后的单词统计下来
参考代码:
#include <bits/stdc++.h> using namespace std; int main() { char str[100]; string tmp; map<string, int> m; map<string, int>::iterator ite; int i=0, sum=0, cnt=0; gets(str); while(str[i] != '\0') { if(str[i] != ' ') { tmp += str[i]; } else { m[tmp]++; tmp = ""; } if(str[i+1] == '\0') //统计最后一个单词 m[tmp]++; i++; } for(ite=m.begin(); ite!=m.end(); ite++) { sum++; } cout << sum; return 0; }
0.0分
5 人评分