请编程实现两个字符串的比较(不能使用库函数strcmp)
时间: 2024-01-07 16:04:59 浏览: 150
以下是两种实现两个字符串比较的方法,均不能使用库函数strcmp:
方法一:逐个字符比较
```python
def str_cmp(str1, str2):
i = 0
while i < len(str1) and i < len(str2):
if str1[i] != str2[i]:
return ord(str1[i]) - ord(str2[i])
i += 1
return len(str1) - len(str2)
```
方法二:使用ASCII码值比较
```python
def str_cmp(str1, str2):
i = 0
while ord(str1[i]) == ord(str2[i]) and str1[i] != '\0' and str2[i] != '\0':
i += 1
if str1[i] == '\0' and str2[i] == '\0':
return 0
else:
return ord(str1[i]) - ord(str2[i])
```
相关问题
C语言请编程实现两个字符串的比较(不能使用库函数strcmp)
以下是C语言实现两个字符串比较的代码,该代码不能使用库函数strcmp:
```c
#include <stdio.h>
int CompareStr(char *str1, char *str2);
int main() {
char s1[20], s2[20];
gets(s1);
gets(s2);
if (CompareStr(s1, s2) > 0)
printf("%s比%s大\n", s1, s2);
else if (CompareStr(s1, s2) < 0)
printf("%s比%s小\n", s1, s2);
else
printf("%s与%s相等\n", s1, s2);
return 0;
}
int CompareStr(char *str1, char *str2) {
do {
if (*str1 > *str2)
return 1;
else if (*str1 < *str2)
return -1;
} while ((*str1++) && (*str2++));
return 0;
}
```
请编程实现两个字符串的比较(不能使用库函数strcmp),c语言
以下是C语言实现两个字符串比较的代码,该代码不能使用库函数strcmp:
```c
#include <stdio.h>
int CompareStr(char *str1, char *str2);
int main() {
char s1[20], s2[20];
gets(s1);
gets(s2);
if (CompareStr(s1, s2) > 0)
printf("%s比%s大\n", s1, s2);
else if (CompareStr(s1, s2) < 0)
printf("%s比%s小\n", s1, s2);
else
printf("%s与%s相等\n", s1, s2);
return 0;
}
int CompareStr(char *str1, char *str2) {
do {
if (*str1 > *str2)
return 1;
else if (*str1 < *str2)
return -1;
} while ((*str1++) && (*str2++));
return 0;
}
```
阅读全文