4、定义一个长度为100 的字符数组 char a[100],通过键盘输入一串任意的小写字母构成的字符串(字符总数少于100个),存入数组a中,然后对其中的字母按从小到大的顺序递行排序,并输出排序后的字符串。
供参考:
#include <stdio.h>
int main()
{
char a[100], t;
int i = 0, j, k;
while ((a[i] = getchar()) && i < 100 && a[i] != '\n') i++;
a[i] = '\0';
for (k = i, i = 0; i < k - 1; i++)
{
for (j = 0; j < k - 1 - i; j++)
if (a[j] > a[j + 1])
{
t = a[j]; a[j] = a[j + 1]; a[j + 1] = t;
}
}
printf("%s", a);
return 0;
}
代码如下
#include <stdio.h>
#include <string.h>
int main()
{
char arr[100] = {'\0'};
scanf("%s",&arr); //输入一串字符
int number = strlen(arr); //数值中有效字符个数,即你输入的字符个数
//冒泡排序,升序
for(int i = 0; i < number; ++i) {
for(int j = 0; j < number - i; ++j) {
if(arr[j] > arr[j + 1]) { //交换
char temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
}
for(int i = 0; i < number + 1; ++i) //打印数组
printf("%c",arr[i]);
printf("\n");
return 0;
}