用C语言编写函数,用冒泡法对10个字符按小到大排序
时间: 2024-04-30 07:23:29 浏览: 9
```c
#include <stdio.h>
void bubbleSort(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]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
char arr[] = {'d', 'c', 'a', 'b', 'h', 'g', 'f', 'e', 'i', 'j'};
int n = sizeof(arr) / sizeof(arr[0]);
bubbleSort(arr, n);
printf("排序后的字符为:\n");
for (int i = 0; i < n; i++) {
printf("%c ", arr[i]);
}
printf("\n");
return 0;
}
```
相关问题
用 C语言函数编写用冒泡法对输入的 10 个字符按 ASCⅠⅠ码值由小到大的顺序排列
好的,以下是使用冒泡排序方法的 C 语言函数示例:
```c
#include <stdio.h>
#include <string.h>
void bubble_sort(char *chars, int n)
{
char temp; // 用于交换字符的中间变量
for (int i = 0; i < n; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (chars[j] > chars[j+1]) { // 比较相邻的两个字符
// 如果它们的顺序不对,则交换它们的位置
temp = chars[j];
chars[j] = chars[j+1];
chars[j+1] = temp;
}
}
}
}
int main()
{
char chars[10]; // 定义字符数组
printf("请输入 10 个字符,以空格分隔:");
for (int i = 0; i < 10; i++) {
scanf(" %c", &chars[i]); // 读入字符
}
bubble_sort(chars, 10); // 调用冒泡排序函数
printf("排序后的结果为:");
for (int i = 0; i < 10; i++) {
printf(" %c", chars[i]); // 输出排序后的字符
}
printf("\n");
return 0;
}
```
这个程序与前面的程序类似,不同之处在于它使用了一个名为 `bubble_sort` 的函数来执行冒泡排序。这个函数接受一个字符数组和数组长度作为参数,然后对该数组进行排序。主函数中只需要读入字符,调用 `bubble_sort` 函数,并输出结果即可。
c语言 用冒泡法对输入的十个字符按ascii码从小到大排序
好的,让我来帮你解答这个问题。对于这个问题,我们可以使用C语言编写冒泡排序算法来实现按ASCII码从小到大排序。请看以下代码:
```
#include <stdio.h>
#include <ctype.h>
void sort_ascii(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 (tolower(arr[j]) > tolower(arr[j+1])) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
char arr[10];
int i;
printf("Please enter ten characters:\n");
for (i = 0; i < 10; i++) {
scanf("%c", &arr[i]);
}
sort_ascii(arr, 10);
printf("\nCharacters in ascending order according to ASCII code:\n");
for (i = 0; i < 10; i++) {
printf("%c ", arr[i]);
}
return 0;
}
```
在这个程序中,我们首先定义了一个`sort_ascii`函数,它使用内嵌的`tolower`函数将字符转换为小写形式,然后比较它们的ASCII码,并在必要时交换它们的位置。接下来,在`main`函数中,我们使用`scanf`函数从用户输入读取10个字符,然后调用`sort_ascii`函数来对它们进行排序,并在屏幕上输出排序后的结果。
希望这个程序可以解决你的问题,如果你有任何其他问题,欢迎继续提问!