Mô tả bài toán

Viết chương trình Console, với Phương thức HackerSpeak có thể mã hóa nội dung tin nhắn của người dùng.
//AlternatingCaps("Hello") ➞ "HeLlO"
//AlternatingCaps("Hey, how are you?") ➞ "HeY, hOw aRe yOu?"
//AlternatingCaps("OMG!!! This website is awesome!!") ➞ "OmG!!! tHiS WeBsItE Is aWeSoMe!!"
//Rules: 
//- First character is alway UPPERCASE

Cách giải quyết

Tạo phương thức AlternatingCaps(string msg), với các xử lý sau:
  • Chuyển chuỗi nội dung tin nhắn msg thành mảng các ký tự characters
  • Duyệt vòng lặp từ 0 -> characters.Length, xét:
    • Nếu index % 2 == 0, tức là các ký tự chẵn (bao gồm ký tự thứ 0, 2, 4, 6, ...) -> ta sẽ chuyển thành chữ in hoa.
    • Ngược lại, nếu index % 2 != 0, tức là các ký tự lẻ (bao gồm ký tự thứ 1, 3, 5, 7, ...) -> ta sẽ chuyển thành chữ in thường.

Source code

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AlTeRnAtInG_CaPs​​​​​
{
    class Program
    {
        //AlternatingCaps("Hello") ➞ "HeLlO"
        //AlternatingCaps("Hey, how are you?") ➞ "HeY, hOw aRe yOu?"
        //AlternatingCaps("OMG!!! This website is awesome!!") ➞ "OmG!!! tHiS WeBsItE Is aWeSoMe!!"
        //Rules: 
        //- First character is alway UPPERCASE
        static string AlternatingCaps(string msg)
        {
            char[] characters = msg.ToCharArray();
            for (int i = 0; i < characters.Length; i++)
            {
                if ((i % 2) == 0) //0, 2, 4, 6 ...
                {
                    characters[i] = Char.ToUpper(characters[i]);
                }
                else //1, 3, 5, 7, ...
                {
                    characters[i] = Char.ToLower(characters[i]);
                }
            }

            return new string(characters);
        }

        static void Main(string[] args)
        {
            Console.WriteLine("Enter your secret message: ");
            string msgInput = Console.ReadLine();

            Console.WriteLine("Hacker speak: ");
            string hacked = AlternatingCaps(msgInput);
            Console.WriteLine(hacked);

            Console.ReadKey();
        }
    }
}

Github

https://github.com/kellyfire611/learning.nentang.vn-csharp/blob/master/src/AlTeRnAtInG_CaPs%E2%80%8B%E2%80%8B%E2%80%8B%E2%80%8B%E2%80%8B/Program.cs