编写程序,比较两字符串s1和s2,如果s1>s2,输出正数1;如果s1=s2,输出0;如果s1 < s2,输出 –1。要求s1和s2可在主函数内从键盘上输入,比较两字符串大小的函数为自定义函数chec
时间: 2023-05-31 11:20:43 浏览: 147
### 回答1:
k()。
代码如下:
#include <stdio.h>
#include <string.h>
int check(char s1[], char s2[]) {
int len1 = strlen(s1);
int len2 = strlen(s2);
int len = len1 < len2 ? len1 : len2; // 取两个字符串长度的较小值
for (int i = ; i < len; i++) {
if (s1[i] > s2[i]) {
return 1;
} else if (s1[i] < s2[i]) {
return -1;
}
}
if (len1 == len2) {
return ;
} else if (len1 > len2) {
return 1;
} else {
return -1;
}
}
int main() {
char s1[100], s2[100];
printf("请输入字符串s1:");
scanf("%s", s1);
printf("请输入字符串s2:");
scanf("%s", s2);
int result = check(s1, s2);
printf("比较结果为:%d\n", result);
return ;
}
### 回答2:
本题要求编写一个程序,比较两个字符串的大小,如果字符串s1大于s2,则输出1,如果s1等于s2,则输出0,如果s1小于s2,则输出-1。首先我们需要定义一个自定义函数chec来进行字符串比较。
在定义函数之前,我们需要明确一下字符串比较的规则。两个字符串的比较方式为逐个字符比较,从第一个字符开始,依次比较两个字符串的每一个字符,直到出现不同的字符或者其中一个字符串已经到达结尾为止。如果两个字符串到达结尾时都是相同的,则这两个字符串相等;如果第一个字符串在不同位置上的字符比第二个字符串的字符大,则第一个字符串大于第二个字符串;如果第一个字符串在不同位置上的字符比第二个字符串的字符小,则第一个字符串小于第二个字符串。
下面是自定义函数chec的代码实现:
```python
def chec(s1, s2):
if s1 == s2:
return 0
elif s1 > s2:
return 1
else:
return -1
```
在这个函数中,我们首先判断s1和s2是否相等,如果相等,则返回0;否则,我们依照上述字符串比较的规则,逐个比较字符串中的字符,并返回相应的值。
接下来,在主函数中,我们需要从键盘读入两个字符串,并调用自定义函数chec进行比较。完整的代码如下所示:
```python
def chec(s1, s2):
if s1 == s2:
return 0
elif s1 > s2:
return 1
else:
return -1
def main():
s1 = input("请输入字符串1:")
s2 = input("请输入字符串2:")
result = chec(s1, s2)
print(result)
if __name__ == '__main__':
main()
```
在主函数中,我们首先从键盘上输入两个字符串s1和s2,并将它们作为参数传递给自定义函数chec。函数返回的值保存在result变量中,并通过print语句输出结果。
需要注意的是,在上述代码中,我们定义了一个名为main的函数,并使用if __name__ == '__main__':来判断是否执行该函数。这种写法是为了防止在导入该模块时自动执行main函数,只有在直接运行该程序时才会执行main函数。
总之,本题所要求编写的程序需要读入两个字符串并调用自定义函数进行比较,根据比较结果输出相应的值。本题需要注意字符串比较的规则,并写出相应的代码实现。
### 回答3:
题目要求编写一个程序来比较两个字符串的大小,如果s1>s2则输出1,如果s1=s2则输出0,如果s1<s2则输出-1。我们可以先在主函数内从键盘上输入s1和s2两个字符串,然后调用自定义函数check来比较两个字符串的大小。
具体实现方式如下:
1. 定义一个自定义函数check,该函数接受两个字符串作为参数,返回一个整数值,表示两个字符串的大小关系。函数check的代码如下:
```
int check(char* s1, char* s2) {
int i = 0;
while (s1[i] != '\0' && s2[i] != '\0') {
if (s1[i] > s2[i])
return 1;
else if (s1[i] < s2[i])
return -1;
i++;
}
if (s1[i] == '\0' && s2[i] == '\0')
return 0;
else if (s1[i] == '\0')
return -1;
else
return 1;
}
```
2. 在主函数内从键盘上输入s1和s2两个字符串,并调用check函数比较两个字符串的大小。根据check函数返回的值,输出相应的结果。主函数代码如下:
```
#include <stdio.h>
#include <stdlib.h>
#define MAX_LEN 100
int check(char* s1, char* s2);
int main() {
char s1[MAX_LEN], s2[MAX_LEN];
printf("请输入第一个字符串:");
scanf("%s", s1);
printf("请输入第二个字符串:");
scanf("%s", s2);
int result = check(s1, s2);
if (result > 0) {
printf("1\n");
}
else if (result == 0) {
printf("0\n");
}
else {
printf("-1\n");
}
return 0;
}
int check(char* s1, char* s2) {
int i = 0;
while (s1[i] != '\0' && s2[i] != '\0') {
if (s1[i] > s2[i])
return 1;
else if (s1[i] < s2[i])
return -1;
i++;
}
if (s1[i] == '\0' && s2[i] == '\0')
return 0;
else if (s1[i] == '\0')
return -1;
else
return 1;
}
```
以上就是比较两个字符串大小的程序的完整实现。程序的核心在于check函数的实现,该函数使用了while循环来逐个比较两个字符串的字符,如果发现不同的字符,就根据它们的大小关系返回一个整数值,否则就继续比较下一个字符。在比较完所有字符之后,如果两个字符串长度相同,就返回0;如果某个字符串先结束了,就根据其长度返回1或-1。在主函数中,我们从键盘上输入两个字符串,调用check函数比较它们的大小,并根据check函数的返回值输出相应的结果。
阅读全文