按照字典规则比较两个英文字符串的大小,基本规则如下: (1)字符串左对齐比较 (2)字母无大小写对应关系时忽略大小写,比如’B’不仅大于’A’,也大于’a’ (3)字母有大小写对应关系时,大写小于小写,比如’A’小于’a’ (4)字符串中只有大小写字母和空格,空格小于任何字母 例如:“aBc”<“abc”,“abcdef”<“abD”,“Abcd”<“abc” 格式 输入格式 输入是两行,每行一个字符串,长度均小于1000 输出格式 输出一个整数,表示这两个字符串比较大小的结果。如果第一个小于第二个,输出-1; 如果第一个大于第二个,输出1;相等则输出0。 样例 输入样例 your you 输出样例 1
时间: 2024-03-10 14:49:56 浏览: 100
字符串大小比较的规则
根据题目要求,我们需要比较两个字符串的大小,并输出比较结果。下面是Python的代码实现:
```python
def compare_string(s1, s2):
s1 = s1.lower()
s2 = s2.lower()
i = j = 0
while i < len(s1) and j < len(s2):
if s1[i] == s2[j]:
i += 1
j += 1
continue
if s1[i] == ' ':
return -1
if s2[j] == ' ':
return 1
if ord(s1[i]) == ord(s2[j]) + 32:
return -1
if ord(s1[i]) + 32 == ord(s2[j]):
return 1
if ord(s1[i]) < ord(s2[j]):
return -1
return 1
if len(s1) == len(s2):
return 0
return -1 if len(s1) < len(s2) else 1
s1 = input().strip()
s2 = input().strip()
print(compare_string(s1, s2))
```
代码中,我们先将两个字符串都转为小写,然后使用两个指针i和j分别指向两个字符串的第一个字符。
对于每个字符的比较,我们有以下几种情况:
1. 如果两个字符相同,则继续比较下一个字符。
2. 如果s1[i]是空格,则s1[i]小于s2[j]。
3. 如果s2[j]是空格,则s1[i]大于s2[j]。
4. 如果s1[i]和s2[j]是大小写对应关系,则比较它们的ASCII码值,如果s1[i]的ASCII码值比s2[j]的ASCII码值大32,则s1[i]小于s2[j]。
5. 如果s1[i]和s2[j]不是大小写对应关系,则比较它们的ASCII码值,如果s1[i]的ASCII码值比s2[j]的ASCII码值小,则s1[i]小于s2[j]。
6. 如果两个字符串中有一个字符串比另一个字符串短,则较短的字符串小于较长的字符串。
最后,我们需要根据比较结果输出-1、0或1。如果两个字符串相等,输出0;如果第一个字符串小于第二个字符串,输出-1;如果第一个字符串大于第二个字符串,输出1。
例如:
输入:
```
your
you
```
输出:
```
1
```
阅读全文