博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
腾讯2017暑期实习编程题2
阅读量:6789 次
发布时间:2019-06-26

本文共 938 字,大约阅读时间需要 3 分钟。

题目描述:

小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。

你能帮帮小Q吗?

输入描述 :

输入数据有多组,每组包含一个字符串s,且保证:1 <= s.length <= 1000.

 

输出描述 :

对于每组数据,输出移位后的字符串。

输入例子1 :
AkleBiCeilD

输出例子1 :

kleieilABCD

 

解题思路:

  将大写字母后置就行,也可以用冒泡排序法。

 

代码实现:

  

#include
#include
using namespace std;int main(){ string s; while (cin >> s) { size_t n = s.size(); int uper = 0; for (auto a : s)//统计大写字母个数, if (a <= 'Z'&&a >= 'A') uper++; for(int i = 0;i
= 'A')//将大写字母向后挪 { char c = s[i]; for (int j = i; j < n - 1; ++j) s[j] = s[j + 1]; s[n - 1] = c; if (--uper == 0) break; } else i++; } cout << s << endl; } system("pause"); return 0;}

  

  

小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。你能帮帮小Q吗?

输入描述 :
输入数据有多组,每组包含一个字符串s,且保证:1 <= s.length <= 1000.
输出描述 :
对于每组数据,输出移位后的字符串。
输入例子1 :AkleBiCeilD
输出例子1 :kleieilABCD

 

转载于:https://www.cnblogs.com/zzw1024/p/10973990.html

你可能感兴趣的文章
TCP三次握手和四次挥手过程分析
查看>>
进程外Session和进程内Session存储
查看>>
(素材_源码) 猫猫学IOS(五)UI之360等下载管理器九宫格UI
查看>>
系列超声发现脊柱关节炎附着点处新骨形成
查看>>
【模板】RMQ问题—st表实现
查看>>
数据指标体系建立
查看>>
Golang 笔记 4 defer、error、panic
查看>>
感冒休息
查看>>
linux命令学习——ps
查看>>
PHP下CKeditor 在线编辑器的使用
查看>>
帝国CMS跳过选择会员类型直接注册方法
查看>>
高性能MySQL集群详解(二)
查看>>
怎么给PDF文件裁剪页面呢?那种方法简单呢?
查看>>
python迭代器和生成器
查看>>
linux中ssh/scp连接远程ssh非22端口的服务器方法
查看>>
windows xp下添加loopback环回网卡
查看>>
Java synchronized详解
查看>>
PKI架构的简介,如何使用OPENSSL完成加密与解密,如何自建CA完成证书的签署。...
查看>>
MySQL备份脚本
查看>>
限制域用户多点并发登录解决方案
查看>>