C语言,将一个字符串中的元音字母复制到另一个字符串,然后按照ASCII码从小到大的顺序输出。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言,将一个字符串中的元音字母复制到另一个字符串,然后按照ASCII码从小到大的顺序输出。相关的知识,希望对你有一定的参考价值。
注意 元音字母(a、e、i、o、u、A、E、I、O、U)
要按照 ASCII码顺序
例如 输入(Input):uabE
输出(Output):Eau
void main()
void cpy(char [],char []); <br>char sty[80],c[80]; <br>printf("\\ninput sting:"); <br>gets(sty); <br>cpy(sty,c); <br>printf("\\nThe vonelletters are:%s\\n",c);<br>
void cpy(char s[],char c[])
int i,j; <br> i=0; <br> j=0; <br> while(s[i]!=供川垛沸艹度讹砂番棘39;\\0\') <br> if(s[i]==\'a\'||s[i]==\'A\'||s[i]==\'e\'||s[i]==\'E\' <br> ||s[i]==\'i\'||s[i]==\'I\'||s[i]==\'o\'||s[i]==\'O\'||s[i]==\'u\'||s[i]==\'U\') <br> c[j]=s[i]; <br> j++;
i++;
c[j]=\'\\0\';追问
但是这个并没有实现按照ascll码排序
参考技术A 字符串需要有结束符的,这个结束符要你自己手工加上去。 for(i=0,j=0;i<=29;i++) if ((str[i]=='a')||(str[i]=='e')||(str[i]=='i')||(str[i]=='o')||(str[i]=='u')) s1[j]=str[i];j++; s1[j]='\0'; puts(s1);LeetCode:反转字符串中的元音字母345
LeetCode:反转字符串中的元音字母【345】
题目描述
编写一个函数,以字符串作为输入,反转该字符串中的元音字母。
示例 1:
输入: "hello" 输出: "holle"
示例 2:
输入: "leetcode" 输出: "leotcede"
说明:
元音字母不包含字母"y"。
题目分析
所谓的做题就是把以前背下来的拿过来改一下即可。双指针碰撞模型,之前已经描述过很多次了,此处不在赘述。
知道AEIOU是元音字母?左右指针所指向元素交换一下位置即可。
Java题解
class Solution { public String reverseVowels(String s) { char[] arr = s.toCharArray(); int left =0; int right =arr.length-1; while(left<right) { while(!isYuanYin(s.charAt(left))&&left<right) left++; while(!isYuanYin(s.charAt(right))&&left<right) right--; swap(left,right,arr); left++;right--; } return new String(arr); } public boolean isYuanYin(char c) { if(c==‘a‘||c==‘e‘||c==‘i‘||c==‘o‘||c==‘u‘) return true; if(c==‘A‘||c==‘E‘||c==‘I‘||c==‘O‘||c==‘U‘) return true; return false; } public void swap(int i,int j,char[] arr) { char tmp = arr[i]; arr[i] =arr[j]; arr[j]=tmp; } }
以上是关于C语言,将一个字符串中的元音字母复制到另一个字符串,然后按照ASCII码从小到大的顺序输出。的主要内容,如果未能解决你的问题,请参考以下文章