三个字符串排序 分数 7 全屏浏览题目 切换布局 作者 C课程组 单位 湖南工程学院 从键盘上任意输入三个字符串(要求字符串中不能包含空格,字符串的长度不超过10),按从小到大的顺序将其输出(在同一行,用一个半角空格分开)。 输入格式: 在同一行输入三个字符串,用若干空格分隔,按回车键结束。 输出格式: 在同一行,用一个半角空格分开,输出这三个字符串。 输入样例: peach ant apple 输出样例: 在这里给出相应的输出(注意字符串之间用一个半角空格隔开,尾部无空格)c语言
时间: 2024-03-24 19:35:58 浏览: 117
C语言实现:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[3][11]; // 定义一个二维字符数组,存放三个字符串
int i, j;
char temp[11]; // 定义一个字符数组,用于交换字符串
// 输入三个字符串
for (i = 0; i < 3; i++) {
scanf("%s", str[i]);
}
// 冒泡排序
for (i = 0; i < 2; i++) {
for (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("%s %s %s", str[0], str[1], str[2]);
return 0;
}
```
注意:因为输入的字符串长度不超过10,所以在定义字符数组时,需要给每个字符串留出11个字符的空间,因为C语言中需要用一个字符表示字符串的结尾,即'\0',所以需要多出一个字符的空间。
阅读全文