写一函数,用冒泡法对输入的若干个字符,按大到小顺序排序。然后在主函数中调用子函数,由大到小输出,中间不用空格。用C语言
时间: 2024-12-18 09:32:44 浏览: 5
当然可以。在C语言中,你可以创建一个名为`bubble_sort_descending`的函数来实现冒泡排序算法,按照字符的大写值降序排列。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// Bubble sort function for descending order (character comparison based on ASCII value)
void bubble_sort_descending(char arr[], int n) {
int i, j;
char temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j] < arr[j + 1]) { // Compare characters using ASCII values
temp = arr[j];
arr[j] = arr[j + 1]; // Swap elements
arr[j + 1] = temp;
}
}
}
}
// Main function to call the sorting function and print the sorted array
int main() {
char input[100];
printf("Enter a string of characters separated by spaces:\n");
fgets(input, sizeof(input), stdin);
int len = strlen(input);
input[len - 1] = '\0'; // Remove newline character at the end
bubble_sort_descending(input, len);
printf("Sorted characters in descending order (ASCII): ");
for (int i = 0; i < len; i++) {
printf("%c", input[i]);
if (i != len - 1) { // Print without space after last character
printf("%c", (i == len - 2) ? '\n' : '-');
}
}
return 0;
}
```
在这个程序中,用户从键盘输入一系列字符,然后通过`bubble_sort_descending`函数进行排序,最后在`main`函数中逐个打印出来。
阅读全文