Letter Changes

版权声明:本文为博主原创文章,采用“署名-非商业性使用-禁止演绎 2.5 中国大陆”授权。欢迎转载,但请注明作者姓名和文章出处。 https://blog.csdn.net/njit_77/article/details/79734707
Challenge
Using the C# language, have the function  LetterChanges(str) take the  str parameter being passed and modify it using the following algorithm. Replace every letter in the string with the letter following it in the alphabet ( ie. c becomes d, z becomes a). Then capitalize every vowel in this new string (a, e, i, o, u) and finally return this modified string. 
Sample Test Cases

Input:"hello*3"

Output:"Ifmmp*3"


Input:"fun times!"

Output:"gvO Ujnft!"

Letter Changes算法意思是替换字母(b->a、c->b、....z->a;同样大写也是),元音字符a\e\i\o\u返回大写。

        public static string LetterChanges(string str)
        {
            char[] chArray = str.ToArray();
            int length = chArray.Length;
            char ch = '\0';
            for (int i = 0; i < length; i++)
            {
                ch = chArray[i];
                if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
                {
                    ch++;
                    if (ch == 'z' + 1)
                    {
                        ch = 'a';
                    }
                    else if (ch == 'Z' + 1)
                    {
                        ch = 'A';
                    }
                    if (IsCharVowelCharacter(ch))
                    {
                        ch = (char)(ch - 32);
                    }
                }
                chArray[i] = ch;
            }
            str = new string(chArray);
            return str;
        }
		
	private static bool IsCharVowelCharacter(char ch)
        {
            return ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u';
        }




猜你喜欢

转载自blog.csdn.net/njit_77/article/details/79734707