题目:

有一字符串,里面可能包含英文字母(大写、小写)、数字、特殊字符,现在需要实现一函数,将此字符串中的元音字母挑选出来,存入另一个字符串中,并对字符串中的字母进行从小到大的排序(小写的元音字母在前,大写的元音字母在后,依次有序)。
         说明:1、元音字母是a,e,i,o,u,A,E,I,O,U2、筛选出来的元音字母,不需要剔重

思路:

建立辅助存储,依次记录10个元音字母的个数,并且计数。最后遍历该数组即可。

代码:

void sortVowel (char* input, char* output){if(!input)*output='\0';pair<char,int> *counter=new pair<char,int>[10];memset(counter,0,10*sizeof(pair<char,int>));while(*input){switch(*input){case 'a':counter[0].second++;counter[0].first='a';break;case 'e':counter[1].second++;counter[1].first='e';break;case 'i':counter[2].second++;counter[2].first='i';break;case 'o':counter[3].second++;counter[3].first='o';break;case 'u':counter[4].second++;counter[4].first='u';break;case 'A':counter[5].second++;counter[5].first='A';break;case 'E':counter[6].second++;counter[6].first='E';break;case 'I':counter[7].second++;counter[7].first='I';break;case 'O':counter[8].second++;counter[8].first='O';break;case 'U':counter[9].second++;counter[9].first='U';break;default:break;  }input++;}char* p=output;for(int i=0;i<10;i++){while(counter[i].second--)*p++=counter[i].first;}delete []counter;
}

转载于:https://www.cnblogs.com/engineerLF/p/5392997.html

每天一道算法题(27)——找出元音字母并排序相关推荐

  1. 找出元音字母a,e,i,o,u出现的次数

    描述   在一个字符串中找出元音字母a,e,i,o,u出现的次数.   输入   输入一行字符串(字符串中可能有空格,请用cin.getline(s,counts)方法把一行字符串输入到字符数组s中, ...

  2. 算法题:找出整数数组中两个只出现一次的数字

    问题:一个整数数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字.要求时间复杂度为O(n),空间复杂度为O(1). 分析:这是一个很新颖的关于位运算的题目. 首先考虑这 ...

  3. 算法题:“找出单身狗”--找出一个数组中只出现一次的数字

    题目:一个数组中只有两个数字是出现一次,其他所有数字都出现了两次. 编写一个函数找出这两个只出现一次的数字. 解题过程以及思路:(思路在代码中以注释形式给出) //一个数组中只有两个数字是出现一次,其 ...

  4. 认真对待每一道算法题 之 找明星问题 - 淘宇瀚

    n个人中只有一个明星,明星不认识其他所有的人,而其他人都认识明星,不是明星的人可能认识也可能不认识.你每次只可以问一个人是否认识另一个人这样的问题,问最少问多少次可以找出明星. 做法1: 将所有人站队 ...

  5. 小小c#算法题 - 1 - 找出数组中满足条件的两个数

    把一些东西放到网上,看的时候方便一些.代码可能有bug且不是最佳解决方案,仅供参考. 题目:输入一个按升序排序的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字. 要求时间复杂度是 ...

  6. 算法题:找出一个数组中相加值最大的连续序列元素

    package arithmetic;/*** @author SHI* 求一个数组中相加值最大的连续序列元素*/ public class MaxSequence {public static vo ...

  7. 在一个字符串中找出元音字母a,e,i,o,u出现的次数

    #include <stdio.h> #include <string.h> int main() {char c[100];gets(c);int a = 0,e = 0,i ...

  8. 一道算法题跟大家分享

    无意中看到一道算法题,拿出我的解法与大家分享. 题目:输出1,2,3,4四个数字能组成的互不相同且无重复的三位数并统计满足条件的三位数个数 大家先想想,再看答案吧. View Code 1 /// & ...

  9. 一天一道算法题--6.15--卡特兰数

    感谢微信平台---一天一道算法题---每天多一点进步- problem: 12个高矮不同的人 排成两排 每排必须是从矮到高排列 而且第二行比对应的第一排的人高 问排列方式有多少种? analyse: ...

最新文章

  1. 点云配准(一 两两配准)
  2. PL/SQL Developer 报错ORA-01861
  3. boxfilter 函数
  4. win10任务管理器快捷键_win10系统任务管理器怎么打开
  5. Tomcat结合Apache、Nginx实现高性能的web服务器
  6. MATLAB数据分析
  7. mysql数据库别名_MySQL数据库表名、列名、别名区分大小写的问题
  8. JavaScript书籍的免费32本-收集分享
  9. jQuery选择器的的优点
  10. 如果希望同时导入m中的所有成员_Python3.7知其然知其所以然-第十九章 模块导入...
  11. java collection_【基础篇】java-Collection集合-List和Set
  12. Android中Xml工具类的封装
  13. 背包九讲----整理+例题
  14. 超好用的截屏标注软件Snipaste
  15. FPGA实现HDMI接口
  16. 机器学习:simple linear iterative clustering (SLIC) 算法
  17. 散列表、散列函数和散列冲突以及应用场景(一文看懂)
  18. JS中使用bignumber处理高精度小数 失去去精确度运算 bigNumber用法
  19. gps和惯性组合matlab程序,北航卡尔曼滤波与组合导航 第三次作业 SINS/GPS组合动态实验...
  20. 如何让抖音上热门 修改视频md5值有什么用

热门文章

  1. 我的专属QQ 功能篇 (一)
  2. 关于 asp.net 服务器控件几个 ID 的说明
  3. 内网穿透工作笔记001---UDP通信_内网通信原理_P2P点对点通信原理
  4. MQTT工作笔记0002---阿里云物联网简介_以及物联网平台下的一些名词
  5. WebStorm学习笔记003---前端脚手架
  6. JAVA常用API或编程工具002---SpringSource Tool Suite:基于Eclipse的Spring应用开发环境
  7. Mybatis延迟加载机制
  8. bz2005 2005: [Noi2010]能量采集 数学题
  9. linux建立ftp用户
  10. java中的mod运算_Java源码中Integer类位运算分析