笔试题目之字符串中将大写字母移动至末尾
来源:互联网 发布:网络歌曲2006 编辑:程序博客网 时间:2024/06/05 20:44
某软件公司笔试题目:编程实现一函数,将字符串中的所有大写字母按顺序移动至字符串的末尾。
实现思想:根据选择排序的思想,对字符串从末尾向前移动,如果为大写继续移动,如果为小写,记录下该位置,然后从前面的字符中找到第一个大写,进行交换。下面是代码:
void movestr(char* s)
{
bool flag=false;
char c;
int len = strlen(s);
int i = len - 1;
while(i>0)
{
if(s[i]>='A' && s[i]<='Z')
i--;
else
{
flag=false;
for(int j = i-1; j>=0; j--)
if(s[j]>='A' && s[j]<='Z')
{
c=s[j];
s[j]=s[i];
s[i]=c;
i--;
flag=true;
break;
}
if(!flag)
break;
}
}
}
int main()
{
char s[50]="abcDefgHijkLmnopQrstuvWXyZ";
printf("pre moving:%s\n", s);
movestr(s);
printf("after moving:%s\n", s);
}
结果如图:
以上为个人愚见,欢迎提供更多更好的思路。
- 笔试题目之字符串中将大写字母移动至末尾
- [题目]在字符串中将数字相加
- A题之字符串末尾补0
- Android 将EditText光标移动到字符串末尾
- 百度2014移动研发笔试题目
- 百度2014移动研发笔试题目
- 百度2014移动研发笔试题目
- 百度2014移动研发笔试题目
- 阿尔卡特笔试题目之二
- 阿尔卡特笔试题目之三
- 平方末尾题目
- 笔试题目“翻转字符串”的实现
- 笔试题目1-数字字符串排序
- 华为笔试初级题目-字符串反转
- 删除字符串中的空格-笔试题目
- 笔试面试经典题目之字符串中的数字输出(strtol)
- 移动光标到末尾
- 输出字符串中的大写字母
- Hibernate对象三种状态
- B树数据结构的实现
- 讣告:传智播客创始人张孝祥老师年前意外辞世
- 程序从VC6移植到VS2005环境下的常见问题(一)
- 程序从VC6移植到VS2005环境下的常见问题(二)
- 笔试题目之字符串中将大写字母移动至末尾
- 泛型剖析
- vi有用的命令
- 张老师,您走好!
- Cascaded Light Propagation Volumes for Real-Time Indirect Illumination
- 程序从VC6移植到VS2005环境下的常见问题(三)
- C#泛型
- android操作手机通讯录
- TLD算法:**/libstdc++.so.6: version `GLIBCXX_3.4.11' not found错误及解决