用C语言编写函数,用冒泡法对10个字符按小到大排序
时间: 2024-04-30 18:23:29 浏览: 66
```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语言写一个函数,用冒泡法对输入的10个字符按有小到大的顺序排列。
好的,这是一个计算机编程问题,可以和您进行讨论和解答。以下是我为您编写的C语言代码实现冒泡排序:
```c
#include <stdio.h>
void bubble_sort(char arr[], int size){
int i, j;
char temp;
for (i = 0; i < size-1; i++){
for (j = 0; j < size-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[10];
int i;
printf("请输入10个字符:\n");
for (i = 0; i < 10; i++){
scanf(" %c", &arr[i]);
}
bubble_sort(arr, 10);
printf("排序后的字符:\n");
for (i = 0; i < 10; i++){
printf("%c ", arr[i]);
}
printf("\n");
return 0;
}
```
请注意,这只是冒泡排序的一种实现方式,可能存在其他更高效的排序算法。如果您对此有疑问,可以随时向我提问。
阅读全文