字符串排序1:
#include<iostream>
using namespace std;
#include<bits/stdc++.h>
int main()
{
int num=0;
cin>>num;
vector<string> st;
for(int i=0;i<num;i++)
{
string tmp;
cin>>tmp;
st.push_back(tmp);
}
sort(st.begin(),st.end());
string tmp1;
for(int i=0;i<st.size();++i)
{
tmp1+=st[i]+' ';
}
tmp1.pop_back();
cout<<tmp1<<endl;
return 0;
}
第二题:字符串排序2
#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
using namespace std;
int main()
{
string tmp;
vector<string>vst;
while (cin >> tmp)
{
vst.push_back(tmp);
if (cin.get() == '\n')//此处为获取单个字符
{
sort(vst.begin(), vst.end());
string s;
for (auto& x : vst)
{
x += ' ';
s += x;
}
s.pop_back();
cout << s << endl;
vst.resize(0);
}
}
}
cin.get()用法
1.获取单个字符
2.括号里没有参数,代表吃掉缓冲区的一个字符
3.获得一行字符串
int main()
{
char arr[10];
cin.get(arr, 5);
cout << arr << endl;
}
少了个t是有\0填充了最后一个字节。
cin.get()三个参数的情况 //遇到第三个参数就停止获取数据
int main()
{
char arr[10];
cin.get(arr, 10,‘k’);
cout << arr << endl;
}