这种方法有什么问题
#include<algorithm>
#include<iomanip>
#include<ios>
#include<iostream>
#include<string>
#include<vector>
using std::cin;using std::cout;
using std::endl;
using std::setprecision;
using std::string;
using std::streamsize;
using std::sort;
using std::vector;
int main(){
string zz;
typedef vector<string> vs;
vs input,distinct;vector<int> count;
cout<<"Enter the words";
while(cin>>zz){
input.push_back(zz);
}
if(input.size()==0){
cout<<"Enter atleast a single word";
return 1;
}
int i=0,j=0;
sort(input.begin(),input.end());
while(i!=input.size()){
int count2=0;
for(j=i;j<input.size();j++)
{
if(input[j]==input[j+1])
{
count2++;
}else{
break;
}
}
distinct.push_back(input[i]);
count.push_back(count2);
i+=count2;continue;
i++;
}
for(i=0;i<distinct.size();i++)
{
cout<<distinct[i]<<"\t time"<<count[i]<<"\n";
}
return 0;
}
我正在使用 ubuntu 12.10gcc4.7
它两个任务计算给定输入的不同数量并显示它。程序要求输入并且即使在文件结束后也不会停止输入,即 ctrl+d