@ggggg13

Дано слово, нужно последние 3 буквы заменить прописными в c#?

static void Main(string[] args)
		{
			{
				string a = Console.ReadLine();
				char[] b = c.ToCharArray();
				for (int i = 0; i < 3; i++)
				{
					b[i] = char.ToUpper(b[i]);
				}
				Console.WriteLine(b);
			}
		}

програмка для первых трех, но как сделать с последними буквами?
  • Вопрос задан
  • 252 просмотра
Решения вопроса 2
edward_freedom
@edward_freedom
var text = Console.ReadLine();
var textArray = text?.ToCharArray();

for (var i = textArray.Length - 3; i < textArray.Length; i++)
{
      textArray[i] = char.ToUpper(textArray[i]);
}
                
Console.WriteLine(textArray);
Console.ReadKey();


UPD: Второй способ
var text = Console.ReadLine();
var textArray = text?.ToCharArray();

textArray = textArray.Take(textArray.Length - 3).Concat(textArray.Skip(textArray.Length - 3).Select(char.ToUpper)).ToArray();

Console.WriteLine(textArray);
Console.ReadKey();
Ответ написан
@Av-IT
Разработчик и админ SQL, консультант
Можно без цикла и преобразования к массиву char:

string a = Console.ReadLine();
a = a.Substring(0, a.Length-3) + a.Substring(a.Length-3, 3).ToUpper()   // из слова "привет" получится "приВЕТ"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы