写一个函数,用 “冒泡法”对十个字符进行排序:
看到字符排序,自然就很容易想到使用数组来进行,
定义一个可以存放十个元素的数组a[10],并输入十个元素。
定义一个副函数,副函数中进行排序,因为排序不需要返回数据,就定义为void类型。
副函数中的注意点:
1、比较的次数(N-1)和(N-j-1)
2、要排除末尾‘\0’的比较置换
#include<stdio.h>
#include<stdlib.h>
#define N 10
int main()
{
void sort(char array[]);
int i;
char a[N];
printf("请输入十个字符:\n");
for (i = 0; i < N; i++)
scanf_s("%c", &a[i]);
sort(a);
for (i = 0; i < N; i++)
printf("%c ", a[i]);
system("pause");
return 0;
}
void sort(char array[])
{
int i, j;
char t;
for (j = 0; j < N - 1; j++)
for (i = 0; i < N - j - 1; i++)
if (array[i] > array[i + 1] && array[i + 1] != '\0')
{
t = array[i];
array[i] = array[i + 1];
array[i + 1] = t;
}
}