谷歌:有一个由大小写组成的字符串,将其中的所有小写字母排在大写字母的前面
2014-06-27 01:06
363 查看
有一个由大小写组成的字符串,现在需要对他进行修改,将其中的所有小写字母排在答谢字母的前面(大写或小写字母之间不要求保持原来次序),如有可能尽量选择时间和空间效率高的算法 c语言函数原型void proc(char *str) 也可以采用你自己熟悉的语言
#include<stdio.h> #include<string.h> void swap( char *a, char *b) { char temp=*a; *a=*b; *b=temp; } //因为对修改后的字母原来的顺序不要求,所以相对来说还是比较简单的 void proc( char *str ) { int start=0; int end=strlen(str)-1; for( ; start<end; ) { //从开始找到第一个大写字母 while( 'a'<=*(str+start) && *(str+start)<='z' && start<end) { start++; } //从尾巴开始找到第一个小写字母 while( 'A'<=*(str+end) && *(str+end)<='Z' && start<end) { end--; } //交换 if(start<end) { swap( str+start, str+end); ++start; --end; } } } int main() { char str[]="aAWGafgc"; proc(str); printf("%s \n",str); getchar(); return 0; }
相关文章推荐
- 有一个由大小写组成的字符串,现在需要对他进行修改,将其中的所有小写字母排在大写字母的前面
- 17、有一个由大小写组成的字符串,现在需要对他进行修改, 将其中的所有小写字母排在答谢字母的前面(大写或小写字母之间不要求保持原来次序)
- 给一个字符串,有大小写字母,要求写一个函数把小写字母放在前面 大写字母放在后面,尽量使用最小空间,时间复杂度。(即用指针做)。 如:aAbBcCdD ---àabcdABCD
- 字符串训练02—给一个字符串,有大小写字母,要求写一个函数把小写字母放在前面 大写字母放在后面,尽量使用最小空间,时间复杂度。(即用指针做)。 如:aAbBcCdD ---àabcdABCD
- 传入一个字符串,已知字符串只由字母组成,将其中的大写字母转换为小写,小写转换为大写,返回转换后的字符串
- C 输入一个字符串,删除其中所有的数字,所有大写字母改成小写,其他不变,并输出
- ACM457现在给出了一个只包含大小写字母的字符串,不含空格和换行,要求把其中的大写换成小写,小写换成大写,然后输出互换后的字符串。输入 第一行只有一个整数m(m<=10),表示测试数据组数。
- 7、编写程序,从键盘接收一个字符串,对字符串中的字母进行大小写互转(大写字母转成小写,小写字母转成大写)。
- 从键盘输入一个字符串,将其中的大写字母变小写字母,小写字母变大写字母,并输出 。
- 谷歌面试题:将字符串中的小写字母排在大写字母的前面
- 编写程序,从键盘接收一个字符串,对字符串中的字母进行大小写互转(大写字母转成小写,小写字母转成大写)。
- 【面试)把一个字符串里除了大小写字母以外的所有东西都去掉,然后都变成小写,之后按顺序排序
- 数据结构——算法之(030)(将字符串中所有小写字母排在大写字母的前面)
- 输入一个字符串,把其中大写字母转换成小写字母
- 把一个字符串中所有出现的大写字母都替换成小写字母,同时把小写字母替换成大写字母
- 输入一个字符串,删除其中所有的数字,所有大写字母改成小写,其他不变,并输出
- 把一个字符串中所有出现的大写字母都替换成小写字母,同时把小写字母替换成大写字母
- 【面试系列】把一个字符串里除了大小写字母以外的所有东西都去掉,然后都变成小写,之后按顺序排序
- 数据结构——算法之(031)(将字符串中所有小写字母排在大写字母的前面)
- 输入一个字符串将其中的大写字母改为 小写字母 ,小写改为大写字母