c语言从键盘输入一个字符串,用选择法对该字符串中的字符由大到小进行排序并输出结果
时间: 2024-05-06 13:18:13 浏览: 110
下面是一个用选择法对字符串中字符进行排序的C语言程序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100 // 定义字符串最大长度
int main() {
char str[MAX_LEN]; // 存储输入的字符串
int len, i, j, temp;
printf("请输入一个字符串:");
fgets(str, MAX_LEN, stdin); // 从键盘输入字符串
len = strlen(str);
// 选择排序
for (i = 0; i < len - 1; i++) {
for (j = i + 1; j < len; j++) {
if (str[i] < str[j]) { // 如果前面的字符比后面的字符小,就交换它们的位置
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
}
printf("排序后的字符串为:%s", str);
return 0;
}
```
这个程序首先定义了一个字符串数组 `str` 来存储输入的字符串,以及一个常量 `MAX_LEN` 来表示字符串的最大长度。然后使用 `fgets()` 函数从键盘输入字符串,并使用 `strlen()` 函数获取字符串长度。
接着使用选择排序算法对字符串中的字符进行排序,最后输出排序结果。
需要注意的是,在使用 `fgets()` 函数输入字符串时,会把回车符 `\n` 也读入到字符串中。因此在输出排序后的字符串时,需要用 `%s` 格式字符串来忽略掉回车符。
阅读全文