编写一个程序,用一个函数实现两个字符串的比较,即自己写一个strcmp函数 输入:输入两字符串 输出:输出最大的那个字符串 例如: 输入: abc abd 输出: abd
时间: 2024-02-25 16:54:56 浏览: 71
好的,我来帮你写一个自定义的strcmp函数,实现比较两个字符串的功能。
```python
def my_strcmp(str1, str2):
"""
比较两个字符串的大小,返回最大的那个字符串
"""
if str1 == str2:
return str1
for i in range(min(len(str1), len(str2))):
if str1[i] > str2[i]:
return str1
elif str1[i] < str2[i]:
return str2
return str1 if len(str1) > len(str2) else str2
```
以上是一个简单的自定义strcmp函数,实现了比较两个字符串的大小,并返回最大的那个字符串。你可以把这段代码复制到你的Python编辑器中,然后调用该函数进行测试,例如:
```python
str1 = input('请输入字符串1:')
str2 = input('请输入字符串2:')
max_str = my_strcmp(str1, str2)
print('最大的字符串是:', max_str)
```
输入示例:
```
请输入字符串1:abc
请输入字符串2:abd
```
输出示例:
```
最大的字符串是: abd
```
相关问题
用一个函数实现两个字符串的比较,即自己写一个strcmp函数,输出最大的那个字符串
好的,我可以帮你写一个strcmp函数来实现字符串比较,并输出最大的那个字符串。请看下面的代码实现:
```python
def my_strcmp(str1, str2):
"""
自定义strcmp函数,比较两个字符串的大小
返回值:0 表示两个字符串相等,1 表示第一个字符串大,-1 表示第二个字符串大
"""
if len(str1) > len(str2):
return 1
elif len(str1) < len(str2):
return -1
else:
for i in range(len(str1)):
if str1[i] > str2[i]:
return 1
elif str1[i] < str2[i]:
return -1
return 0
# 测试代码
str1 = input("请输入第一个字符串:")
str2 = input("请输入第二个字符串:")
result = my_strcmp(str1, str2)
if result == 0:
print("两个字符串相等")
elif result == 1:
print("最大的字符串是:", str1)
else:
print("最大的字符串是:", str2)
```
运行代码后,程序会要求输入两个字符串,然后会输出最大的那个字符串。其中,我们使用了自己编写的my_strcmp函数来比较两个字符串的大小。如果两个字符串相等,返回值为0;如果第一个字符串大,返回值为1;如果第二个字符串大,返回值为-1。根据返回值,我们就可以判断出哪个字符串更大了。
c语言编写函数实现两个字符串的比较,即自己写一个strcmp函数。函数原型为int strcmp(char *p1,char *p2);两个字符串相等时返回0,不相等返回两个字符串第一个不相等字符ASCII码之差。(指针实现)完整程序
下面是一个示例程序,实现了自定义的 `strcmp` 函数:
```c
#include <stdio.h>
int strcmp(char *p1, char *p2);
int main() {
char str1[] = "hello";
char str2[] = "world";
int result = strcmp(str1, str2);
if (result == 0) {
printf("The two strings are equal.\n");
} else {
printf("The two strings are different. The ASCII difference is %d.\n", result);
}
return 0;
}
int strcmp(char *p1, char *p2) {
while (*p1 == *p2 && *p1 != '\0') {
p1++;
p2++;
}
return (*p1) - (*p2);
}
```
该函数的实现方法是:首先使用一个 while 循环,逐个比较两个字符串的字符是否相等,直到出现不相等的字符或者字符串结束符 '\0'。然后返回两个字符串第一个不相等字符的 ASCII 码值之差。
阅读全文