由键盘输入三个字符串 按由小到大顺序输出 用到指针同时带有一定解释
时间: 2023-10-31 16:15:41 浏览: 98
可以使用C语言的字符串库函数`strcmp()`来比较字符串的大小,然后使用指针数组来存储这三个字符串,并使用循环和条件语句来进行排序。以下是一个示例代码:
```
#include <stdio.h>
#include <string.h>
int main() {
char str[3][100]; // 定义一个二维数组,存储三个字符串
char temp[100]; // 定义一个临时数组,用于交换字符串
// 从键盘读入三个字符串
for (int i = 0; i < 3; i++) {
printf("请输入第%d个字符串:", i + 1);
scanf("%s", str[i]);
}
// 冒泡排序,按照字符串大小从小到大排序
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2 - i; j++) {
if (strcmp(str[j], str[j + 1]) > 0) {
strcpy(temp, str[j]);
strcpy(str[j], str[j + 1]);
strcpy(str[j + 1], temp);
}
}
}
// 输出排序后的字符串
printf("按照字典序从小到大排序后的字符串为:\n");
for (int i = 0; i < 3; i++) {
printf("%s\n", str[i]);
}
return 0;
}
```
在这个代码中,我们定义了一个二维数组`str`,用于存储三个字符串,同时定义了一个临时数组`temp`,用于交换字符串。然后使用循环从键盘中读入三个字符串。接着,使用冒泡排序的方法,从小到大排序这三个字符串。最后,使用循环输出排序后的字符串。需要注意的是,这里的字符串数组是二维数组,因为每个字符串有可能会占用多个字符的存储空间。
阅读全文