用c语言来编程:输入两个字符串 str1,str2,判断如果字符串str1大于str2 ,则互换两个字符串的值,然后将互换的两个字符串连接起来后,再输出字符串。
时间: 2024-05-07 09:16:41 浏览: 117
C语言判断字符串是否以str2开头代码
好的,让我来回答您的问题。这是一个可以用C语言编写的程序,用来比较并互换两个字符串的值,然后连接起来并输出。可以像这样实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
void swap(char* str1, char* str2);
void concatenate(char* str1, char* str2, char* result);
int main() {
char str1[MAX_LEN], str2[MAX_LEN], result[MAX_LEN];
printf("请输入第一个字符串:");
fgets(str1, MAX_LEN, stdin);
printf("请输入第二个字符串:");
fgets(str2, MAX_LEN, stdin);
if (strcmp(str1, str2) > 0) {
swap(str1, str2);
}
concatenate(str1, str2, result);
printf("连接后的字符串为:%s\n", result);
return 0;
}
void swap(char* str1, char* str2) {
char temp[MAX_LEN];
strcpy(temp, str1);
strcpy(str1, str2);
strcpy(str2, temp);
}
void concatenate(char* str1, char* str2, char* result) {
strcpy(result, str1);
strcat(result, str2);
}
```
程序中,我们先定义了三个长度为 `MAX_LEN` 的字符数组 `str1`、`str2` 和 `result`,用于存放输入的两个字符串和连接后的结果。然后通过 `fgets` 函数从标准输入读取两个字符串。
接下来使用 `strcmp` 函数比较两个字符串的大小,如果 `str1` 大于 `str2`,则调用 `swap` 函数互换两个字符串的值。在 `swap` 函数中,我们定义了一个临时数组 `temp`,通过 `strcpy` 和 `strcmp` 函数实现字符串的互换。
最后调用 `concatenate` 函数将两个字符串连接起来,并将连接后的结果存放在 `result` 数组中。在 `concatenate` 函数中,我们使用 `strcpy` 和 `strcat` 函数将 `str1` 和 `str2` 连接起来。
最终通过 `printf` 函数将连接后的字符串输出。
阅读全文