牛骨文教育服务平台(让学习变的简单)
博文笔记

腾讯 算法基础-字符移位

创建时间:2016-07-01 投稿人: 浏览次数:1150

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

输入描述:

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

输出描述:

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

输入例子:
AkleBiCeilD

输出例子:
kleieilABCD

#include <stdio.h>
#include <string.h>
//冒泡排序
int main() {
    char str[1001];
    while (scanf("%s", str) != EOF) {
        int len = strlen(str);
        for (int i = len - 1; i >= 0; --i) {
            if (str[i] >= "A" && str[i] <= "Z") {
                char ch = str[i];
                int j = i + 1;
                while (str[j] != "" && str[j] >="a" && str[j] <= "z") {
                    str[j - 1] = str[j];
                    ++j;
                }
                str[j - 1] = ch;
            }
        }
        printf("%s
",str);
    }
    return 0;
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。