字符串中字符排序
【问题描述】
编写一个程序,从键盘接收一个字符串(字符不重复),然后按照字符顺序从小到大进行排序。
【输入形式】
用户在第一行输入一个字符串。
【输出形式】
程序按照字符(ASCII)顺序从小到大排序字符串
【样例输入】
efgdbac
【样例输出】
abcdefg
【样例说明】
程序对其进行按从小到大(ASCII)顺序排序
法一:利用count求字母个数
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,count=0;
char a[1000],b;
while(a[count-1]!='\n')
{
scanf("%c",&a[count]);
count++;
}
for(i=0;i<count-1;i++)
{
for(j=i+1;j<count;j++)
{
if(a[j]<a[i])
{
b=a[j];
a[j]=a[i];
a[i]=b;
}
}
}//选择排序
for(i=0;i<count;i++)
{printf("%c",a[i]);}
return 0;
}
法二:利用函数求字符个数
#include<stdio.h>
#include<string.h>
int main()
{
char a[100];char b;
gets(a);int n;
n=strlen(a);
int i,j;
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
{
if(a[j]>a[j+1])
{
b=a[j];
a[j]=a[j+1];
a[j+1]=b;
}
}
}//冒泡排序
puts(a);
}