c语言编写一个程序,比较字符串 s1 和 s2 。若 s1 > s2 ,输出一个正数,若 s1 = s2 ,输出0,若 s1 < s2 ,则输出一个负数。
时间: 2024-12-04 09:29:42 浏览: 32
在C语言中,你可以通过逐字符比较两个字符串来进行这个操作。这里是一个简单的示例程序,它会使用`strcmp()`函数来比较字符串:
```c
#include <stdio.h>
#include <string.h>
int compare_strings(const char* s1, const char* s2) {
int result = strcmp(s1, s2);
if (result > 0) {
printf("%d\n", result); // 输出正数,表示s1 > s2
} else if (result == 0) {
printf("0\n"); // 输出0,表示s1 = s2
} else {
printf("%d\n", -result); // 输出负数,表示s1 < s2
}
}
int main() {
char s1[] = "abc";
char s2[] = "def";
compare_strings(s1, s2);
return 0;
}
```
在这个例子中,如果`s1`在字典序上位于`s2`之后,`strcmp()`会返回一个大于零的值;如果是相等的,返回0;如果是`s1`在前,返回一个小于零的值。
相关问题
用C语言编写一个程序,比较字符串 s1 和 s2 。若 s1 > s2 ,输出一个正数,若 s1 = s2 ,输出0,若 s1 < s2 ,则输出一个负数。
在C语言中,你可以使用标准库函数`strcmp()`来比较两个字符串。这个函数会返回一个整数值,如果第一个字符串大于第二个,则返回一个正值;等于则返回0;小于则返回负值。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s1[] = "abc";
char s2[] = "def";
int result = strcmp(s1, s2);
if (result > 0) {
printf("%d\n", result); // 输出正数,表示s1 > s2
} else if (result == 0) {
printf("0\n"); // 输出0,表示s1 = s2
} else {
printf("%d\n", -result); // 输出负数,表示s1 < s2
}
return 0;
}
```
在这个例子中,`strcmp(s1, s2)`会比较`s1`和`s2`的内容。根据结果的不同,我们通过条件判断来打印相应的数值。
本关任务:用c语言编写一个程序,比较字符串 s1 和 s2 。若 s1 > s2 ,输出一个正数,若 s1 = s2 ,输出0,若 s1 < s2 ,则输出一个负数
要使用C语言编写这个程序,你可以使用标准库中的strcmp()函数来比较两个字符串。strcmp()函数会返回一个整数值,如果第一个字符串大于第二个,返回正值;相等则返回0;小于则返回负值。下面是简单的C程序示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s1[50], s2[50];
printf("请输入字符串s1: ");
fgets(s1, sizeof(s1), stdin);
s1[strcspn(s1, "\n")] = '\0'; // 去除换行符
printf("请输入字符串s2: ");
fgets(s2, sizeof(s2), stdin);
s2[strcspn(s2, "\n")] = '\0'; // 去除换行符
int result = strcmp(s1, s2);
if (result > 0) {
printf("%d\n", result); // 输出正数
} else if (result == 0) {
printf("0\n"); // 输出0
} else {
printf("%d\n", -result); // 输出负数
}
return 0;
}
```
在这个程序中,用户通过`fgets()`输入字符串,然后使用`strcmp()`比较它们。根据返回的结果,我们按照题目要求打印相应的数值。
阅读全文