Make uppercase
Given a string, write a method that returns new string in which every odd letter of the word is uppercase. String may consist of one or more words.
Expected input and output
MakeUppercase("modem") → "MoDeM"
MakeUppercase("BookWorm") → "BoOkWoRm"
MakeUppercase("Aliquam dolor nisl?") → "AlIqUaM DoLoR NiSl?"
using System;
namespace CSharpExercises.Exercises.Strings
{
class MakeUppercaseTask
{
public static string MakeUppercase(string word)
{
int letterIndex = 0;
string uppercaseWord = string.Empty;
for (int i = 0; i < word.Length; i++)
{
if (word[i] >= 'a' && word[i] <= 'z' && letterIndex % 2 == 0)
{
letterIndex++;
uppercaseWord += (char)(word[i] - 32);
}
else if (word[i] != ' ')
{
letterIndex++;
uppercaseWord += word[i];
}
else
{
letterIndex = 0;
uppercaseWord += word[i];
}
}
return uppercaseWord;
}
public static void Main()
{
Console.WriteLine(MakeUppercase("very short sentence.")); // VeRy ShOrT SeNtEnCe.
Console.WriteLine(MakeUppercase("motorcycle")); // MoToRcYcLe
Console.WriteLine(MakeUppercase("Events And Delegates")); // EvEnTs AnD DeLeGaTeS
}
}
}