在C ++中将字符串转换为大写的交叉

时间:2015-06-23 19:02:25

标签: c++ uppercase

我有这段代码:

        Str UpperCase()
    {
        Str Result;
        int i = 0;
        for (; string[i]; i++)
        {
            if (string[i] <= 'z' && string[i] >= 'a')
            {
                string[i] -= 32;
            }
            Result.string[i] = string[i];
        }
        Result.string[i] = 0;
        return Result;
    }

它将使字符串大写。 如果我想让它成为Decussate,我该怎么办? 示例:我的名字是pooya ==&gt;嗨,我的NaMe是PoOyA

抱歉我的英语不好 并谢谢;)

1 个答案:

答案 0 :(得分:0)

 Str UpperCase()
    {
        Str Result;
        int i = 0;
        int decussate = 0;
        for (; string[i]; i++)
        {
            if (string[i] <= 'z' && string[i] >= 'a')
            {
                decussate++;
                if( decussate%2 == 1 ){
                    string[i] -= 32;
                }
            }
            Result.string[i] = string[i];
        }
        Result.string[i] = 0;
        return Result;
    }

添加int decussate,每当找到一个小写字母时,通过在奇数和偶数之间进行更改,它将创建一个模式,其中1,3,5,7等字母将被大写,假设字符串是小写的。