编写一个程序,输入一个句子,然后统计出这个句子当中不同的单词个数。
#include<iostream> #include<cstring>using namespace std;int main(){char str[1000];gets(str);int n = strlen(str);//之前报错是因为我还没有输入字符串,导致n=0,根本没有进入循环int count = 1;for(int i = 0;i < n;i++){if(str[i]==' ')count++;}cout << count;}
大佬解答:使用了set容器,
#include<iostream>#include<stdio.h>#include<string.h>#include<set>using namespace std;int main(){char ch[105];gets(ch);string sh[105];int len1=strlen(ch);set<string> S;int k=0;int temp=0;for(int i=0;i<=len1;i++){if(ch[i]==' '||ch[i]=='\0'){for(int j=k;j<i;j++){sh[temp]=sh[temp]+ch[j];}temp++;k=i+1;}}for(int i=0;i<temp;i++)S.insert(sh[i]);cout<<S.size()<<endl;return 0;}