元音排序
问题描述:有一字符串,里面可能包含英文字母(大写、小写)、数字、特殊字符,现在需要实现一函数,将此字符串中的元音字母挑选出来,存入另一个字符串中,并对字符串中的字母进行从小到大的排序(小写的元音字母在前,大写的元音字母在后,依次有序)。
说明:(1)元音字母是a, e, i, o, u, A, E, I, O, U。(2)筛选出来的元音字母,不需要剔重。最终输出的字符串,小写元音字母排在前面,大写元音字母排在后面,依次有序。
【输入】字符串。
【输出】排好序之后的元音字符串。
输入:"Abort!May Be Some Errors In Out System. "
输出:“aeeeoouAEIO”
#include<stdio.h>
#include<string.h>
char Univocalic[]="aeiouAEIOU";
int main(){
char str[200];gets(str);
int len=strlen(str);
int count[10],counter=0;
for(int i=0;i<10;i++)count[i]=0;
for(int i=0;i<len;i++){
char *p=strchr(Univocalic,str[i]);
if(p==NULL)continue;
count[p-Univocalic]++;
}
while(counter<10){
while(count[counter]--)printf("%c",Univocalic[counter]);
counter++;
}
printf("\n");
return 0;
}
来源:CSDN
作者:SChenlyx
链接:https://blog.csdn.net/weixin_45722804/article/details/103455652