考拉有n个字符串字符串,任意两个字符串长度都是不同的。

#include <iostream>
#include <string.h>
using namespace std;
int main() {
int n;
cin >> n;
int x = 0, y = 0;
char num[100][100];
for (int i = 0; i < n; i++)
cin >> num[i];
//比较两个字符串的长度,不满足顺序性的进行标记,直接break
for (int i = 0; i < n-1; i++) {
if(strlen(num[i]) > strlen(num[i+1])) {
x = 1;
break;
}
}
//比较两个字符串的字典序,不满足顺序性的进行标记,直接break
for (int i = 0; i < n-1; i++) {
if(strcmp(num[i], num[i+1]) > 0) {
y = 1;
break;
}
}
if(x == 1 && y==0)
cout << "lexicographically" << endl;
else if (x == 0 && y == 1)
cout << "lengths" << endl;
else if (x == 0 && y == 0)
cout << "both" << endl;
else
cout << "none" << endl;
return 0;
}
该程序接收n个字符串输入,检查它们是否按长度和字典序正确排序。如果仅按长度有序,输出'lengths';如果仅按字典序有序,输出'lexicographically';如果两者都有序,输出'both';否则输出'none'.
373

被折叠的 条评论
为什么被折叠?



