怎样输入多个字符串

要求输入一个数字n,然后再输入n个字符串。

int  n;

cin>>n;

fflush(stdin);

while(n--)

getline(cin,s);

下面是一个完整的程序。需要把n个字符串中的数字提取出来组成数,然后把这n个数排序。

#include
#include
#include
#include
#include
#include //sort()函数中排序方法用less()是从小到大


using namespace std;
int main()
{
int maxLine;
cin>>maxLine;
fflush(stdin);//一定要清除缓存,因为输入后敲的回车已经占了一行
vector inputStr;
ostream_iterator output(cout," ");
for(int k=0;k{
string temp;
getline(cin,temp);//输入字符串
inputStr.push_back("");//相当于初始化,否则没inputStr[k]
for(int i=0;i{

if(!isalpha(temp[i]))
{   //把从temp[i]开始的1个字符加到inputStr[k]
inputStr[k].append(&temp[i],1);
}
}
if(inputStr[k].size==0)
{inputStr.pop_back();k--;maxLine--;}
}
    //把数字字符串变成数字
vector inputNum;
for(int k=0;k{
int temp; //字符串给stream,再传给int类型的temp
std::stringstream stream;
stream<stream>>temp;
inputNum.push_back(temp);
stream.clear();//清空,下个字符串继续使用
}
    //按降序排列greater()
sort(inputNum.begin(),inputNum.end(),greater());


for(int i=0;i{
cout<cout<}
 return 0;
}

你可能感兴趣的:(怎样输入多个字符串)