Заменить все латинские буквы верхнего регистра на буквы нижнего регистра - C (СИ)
Формулировка задачи:
В новом файле заменить все латинские буквы верхнего регистра на буквы нижнего регистра.
Где здесь ошибка?
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <ctype.h>
#include <windows.h>
main()
{
char str[50];
char ch[]="ProSto teXt";
int i;
CharToOem(str,str);
printf(str);
printf("\n");
while(ch[i]) printf("%c", toupper(ch[i++]));
while(ch[i]) printf("%c", tolower(ch[i++]));
printf("\n");
CharToOem("\n", str);
printf(str);
getch();
}Решение задачи: «Заменить все латинские буквы верхнего регистра на буквы нижнего регистра»
textual
Листинг программы
while(ch[i]) printf("%c", toupper(ch[i++]));
while(ch[i]) printf("%c", tolower(ch[i++]));
Объяснение кода листинга программы
В данном коде выполняется преобразование регистра символов в строке. Список действий следующий:
- Вводится строка (предполагается, что она уже есть и хранится в переменной
ch). - С помощью цикла while происходит итерация по каждому символу строки.
- В первой части цикла (до оператора
printf) происходит преобразование символа в верхний регистр с помощью функцииtoupper. Затем этот символ выводится на экран с помощью функцииprintf. - Во второй части цикла (после оператора
printf) происходит преобразование символа в нижний регистр с помощью функцииtolower. Затем этот символ выводится на экран с помощью функцииprintf. Список действий можно представить в виде: - Ввести строку в переменную
ch. - Для каждого символа в строке:
a. Преобразовать символ в верхний регистр с помощью функции
toupper. b. Вывести преобразованный символ на экран с помощью функцииprintf. - Для каждого символа в строке:
a. Преобразовать символ в нижний регистр с помощью функции
tolower. b. Вывести преобразованный символ на экран с помощью функцииprintf.