c语音输入n个字符串,再按降序排列输出。
时间: 2023-04-27 08:03:55 浏览: 459
可以使用C语言中的字符串数组和排序函数来实现输入n个字符串并按降序排列输出的功能。
具体步骤如下:
1. 定义一个字符串数组,用于存储输入的n个字符串。
2. 使用循环语句,依次输入n个字符串。
3. 使用C语言中的排序函数,对字符串数组进行降序排列。
4. 使用循环语句,依次输出排好序的字符串数组。
下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_STR_LEN 100
#define MAX_STR_NUM 10
int main()
{
char str[MAX_STR_NUM][MAX_STR_LEN];
int i, j, n;
printf("请输入字符串个数n:");
scanf("%d", &n);
printf("请输入%d个字符串:\n", n);
for (i = 0; i < n; i++) {
scanf("%s", str[i]);
}
// 使用冒泡排序对字符串数组进行降序排列
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (strcmp(str[j], str[j + 1]) < 0) {
char temp[MAX_STR_LEN];
strcpy(temp, str[j]);
strcpy(str[j], str[j + 1]);
strcpy(str[j + 1], temp);
}
}
}
printf("降序排列后的字符串为:\n");
for (i = 0; i < n; i++) {
printf("%s\n", str[i]);
}
return 0;
}
```
这段代码中,我们使用了冒泡排序对字符串数组进行降序排列。在冒泡排序中,我们比较相邻的两个字符串,如果前一个字符串比后一个字符串小,则交换它们的位置。这样一轮比较下来,最大的字符串就会被排到最后面。重复这个过程,直到所有的字符串都被排好序。
最后,我们使用循环语句依次输出排好序的字符串数组,即可完成输入n个字符串并按降序排列输出的功能。
阅读全文