文章目录
一、选择题
eg1
eg2
编程题
eg1
【解题思路】:
思路很简单,将接受的字符串都放到vector容器中,利用string的operator>=运算符重载来按ascii比较字符串,利用string的size来比较字符串的长度
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
int n = 0;
cin >> n;
vector<string> arr;
arr.resize(n);
bool is_lenths_sort = true;//默认是长度排序
bool is_c_sort = true;//默认是经典排序
for(int i = 0; i < n; ++i)
{
cin >> arr[i];
}
//判断是否是长度排序
for(int i = 1; i < arr.size(); ++i)
{
if(arr[i-1].size() > arr[i].size())
{
is_lenths_sort = false;
break;
}
}
//判断是否是经典排序
for(int i = 1; i < arr.size(); ++i)
{
if(arr[i-1] > arr[i])
{
is_c_sort = false;
break;
}
}
if(is_lenths_sort && is_c_sort)
{
cout << "both" << endl;
}
else if(is_lenths_sort == true && is_c_sort == false)
{
cout << "lengths" << endl;
}
else if(is_c_sort == true && is_lenths_sort == false)
{
cout << "lexicographically" << endl;
}
else
{
cout << "none" << endl;
}
return 0;
}