解题思路:我先用得到getline保存字符串,然后分割字符串保留单词到一个字符串数组,同时记录单词个数,接下来去一个单词一个单词对比,如果相同,单词数目减一
注意事项:分割字符串的时候注意长度
参考代码:
#include<iostream> #include<string> #include <algorithm> using namespace std; string data[100];//单词保存到data里面 bool vis[100]; int main() { string s; getline(cin,s); int ls = s.length(),i = 0,pos = 0,j = 0; int sum = 0; //分割单词统计个数(其实多少个空格就行了) for(i = 0;i<ls;i++) { if(s[i] == ' ') { string s2 = s.substr(pos,i-pos); pos = i+1; data[j++] = s2; sum++; // cout<<s2<<endl; } if(i == ls-1) { string s2 = s.substr(pos,i-pos+1); sum++; data[j++] = s2; // cout<<s.substr(pos,i-pos+1); } } int num = sum; for(i = 0;i<sum;i++) { for(j = i+1;j<sum;j++) { //如果单词比较过了,下次就不用再比了 if(vis[j] == 0) { if(data[i] == data[j]) { vis[j] = 1; num--; } } } } cout<<num<<endl; //cout<<s<<endl; return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:998 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:548 |
WU-复数求和 (C++代码)浏览:2119 |
C语言程序设计教程(第三版)课后习题6.8 (C语言代码)浏览:544 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:583 |
母牛的故事 (C语言代码)浏览:594 |
A+B for Input-Output Practice (VII) (C语言代码)浏览:566 |
模拟计算器 (C语言代码)浏览:2366 |
C语言程序设计教程(第三版)课后习题8.7 (C语言代码)浏览:852 |
孤独的骑士 (C语言代码)浏览:1416 |