从键盘输入一个字符串,用选择法对该字符串中的字符由小到大进行排序,并输出结果。c语言
时间: 2024-02-01 09:15:48 浏览: 117
下面是一份简单的 C 代码,用于输入一个字符串并对其进行选择排序:
```c
#include <stdio.h>
#include <string.h>
void selection_sort(char *s) {
int n = strlen(s);
int i, j;
for (i = 0; i < n - 1; i++) {
int min_idx = i;
for (j = i + 1; j < n; j++) {
if (s[j] < s[min_idx]) {
min_idx = j;
}
}
if (min_idx != i) {
char tmp = s[min_idx];
s[min_idx] = s[i];
s[i] = tmp;
}
}
}
int main() {
char s[100];
printf("Enter a string: ");
scanf("%s", s);
selection_sort(s);
printf("Sorted string: %s\n", s);
return 0;
}
```
首先,我们定义了一个 `selection_sort` 函数来执行选择排序。该函数接受一个指向字符数组的指针作为参数,该数组存储了要排序的字符串。
在函数中,我们首先计算字符串的长度,并使用两个嵌套的循环来执行选择排序。外部循环迭代字符串中的每个字符,内部循环查找从当前字符到字符串末尾的最小字符。
一旦找到最小字符,我们交换它和当前字符的位置。最后,我们在 `main` 函数中获取输入字符串,调用 `selection_sort` 函数来对其进行排序,并打印结果。
请注意,上述代码仅实现了字符排序,而不是字符串排序。要对字符串进行排序,您需要使用 `strcmp` 函数来比较字符串。
阅读全文