输入三个字符串按从小到大输出用c语言来写 带有指针同时带有一定解释
时间: 2023-10-10 12:14:56 浏览: 67
c代码-9、有5个字符串,首先将它们按照字符串中的字符个数由小到大排列, 再分别取出每个字符串的第三个字母合并成一个新的字符串输出(若少于三个字符的输出空格)。要求:利用字符串指针和指针数组实现。
5星 · 资源好评率100%
可以使用C语言的字符串库函数`strcmp()`来比较字符串的大小,然后使用指针数组来存储这三个字符串,并使用循环和条件语句来进行排序。以下是一个示例代码:
```
#include <stdio.h>
#include <string.h>
int main() {
char* str[3] = {"hello", "world", "apple"}; // 定义一个指针数组,存储三个字符串
char* temp; // 定义一个临时指针变量,用于交换字符串指针
// 冒泡排序,按照字符串大小从小到大排序
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2 - i; j++) {
if (strcmp(str[j], str[j + 1]) > 0) {
temp = str[j];
str[j] = str[j + 1];
str[j + 1] = temp;
}
}
}
// 输出排序后的字符串
for (int i = 0; i < 3; i++) {
printf("%s\n", str[i]);
}
return 0;
}
```
在这个代码中,我们定义了一个指针数组`str`,并初始化了三个字符串。然后使用冒泡排序的方法,从小到大排序这三个字符串。最后,使用循环输出排序后的字符串。
阅读全文