c语言编程实现:从键盘输入10个字符串,按照从小到大的顺序排序并输出
时间: 2024-12-29 20:35:45 浏览: 13
在C语言中,我们可以使用字符数组和冒泡排序算法来实现这个功能。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 冒泡排序函数
void bubbleSort(char arr[][50], int n) {
int i, j;
char temp[50];
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
// 比较当前元素和下一个元素,如果前一个大则交换
if (strcmp(arr[j], arr[j + 1]) > 0) {
strcpy(temp, arr[j]);
strcpy(arr[j], arr[j + 1]);
strcpy(arr[j + 1], temp);
}
}
}
}
int main() {
char str[10][50]; // 存储10个字符串
int i;
printf("请输入10个字符串:\n");
for (i = 0; i < 10; i++) {
fgets(str[i], sizeof(str[i]), stdin); // 从键盘读取字符串,包括空格
str[i][strcspn(str[i], "\n")] = '\0'; // 去除fgets接收到的换行符
}
bubbleSort(str, 10); // 排序
printf("\n排序后的字符串(从小到大):\n");
for (i = 0; i < 10; i++) {
printf("%s\n", str[i]);
}
return 0;
}
```
在这个程序中,我们首先定义了一个二维字符数组`str`用于存储10个字符串。然后通过循环从用户处获取输入,并存储在数组里。接着调用`bubbleSort`函数对字符串进行排序,最后遍历并打印出排序结果。
注意:此代码仅适用于字符串长度不超过49个字符的情况,且不包含特殊字符。实际应用中可能需要处理更复杂的情况,例如输入验证和大小写转换等。
阅读全文