考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法: 1.根据字符串的字典序排序。例如:
"car" < "carriage" < "cats" < "doggies < "koala"
2.根据字符串的长度排序。例如:
"car" < "cats" < "koala" < "doggies" < "carriage"
考拉想知道自己的这些字符串排列顺序是否满足这两种排序方法,考拉要忙着吃树叶,所以需要你来帮忙验证。
思路:
第一种排序方式 直接字符串a, b比较 自定义函数命名为car1
第二种排序方式, 判断a, b的长度 自定义函数明明car2
#include<iostream>
#include<string>
#include<string.h>
using namespace std;
int n;
char a[101][100];
int car1()
{
int i;
for(i = 0; i < n - 1; i++)
if(strcmp(a[i], a[i+1]) > 0)
return 0;
return 1;
}
int car2()
{
int i;
for(i = 0; i < n - 1; i++)
if(strlen(a[i]) > strlen(a[i+1]))
return 0;
return 1;
}
int main ()
{
cin>>n;
int i;
for(i = 0; i < n; i++)
cin>>a[i];
if(car1() && car2())
cout<<"both"<<endl;
else if(car1() && !car2())
cout<<"lexicographically"<<endl;
else if(!car1() && car2())
cout<<"lengths"<<endl;
else if(!car1() && !car2())
cout<<"none"<<endl;
return 0;
}