Замена букв в строке на заглавные - C (СИ) (71368)
Формулировка задачи:
Помогите пожалуйста. Надо написать программу, которая по введённой строке создаёт новую и заменяет все символы на символы в верхнем регистре, а для следующих символовделает такую замену:
• 'a', 'A' → '4'
• 'b', 'B' → '8'
• 'e', 'E' → '3'
• 'i', 'I' → '1'
• 'o',
'O' → '0'
• 's', 'S' → '5'
Для замены использовать таблицы.
Пример:
This stuff really works
TH15 5TUFF R34LLY W0RK5
Решение задачи: «Замена букв в строке на заглавные»
textual
Листинг программы
#include <stdio.h> #include <string.h> #include <ctype.h> const char* TABLE[] = { "ABEIOS", "483105" }; int main(void) { char s[] = "This stuff really works", * ptr, * found; for ( ptr = s; *ptr; ++ptr ) { *ptr = toupper(*ptr); if ( found = strchr(TABLE[0], *ptr) ) *ptr = TABLE[1][found - TABLE[0]]; } printf("%s\n", s); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы со строками и символами.
- Объявление таблицы соответствий для замены букв на заглавные.
- Объявление и инициализация строки, которую необходимо преобразовать.
- Объявление указателя на текущий символ строки и указателя на найденный символ в таблице.
- Проход по каждому символу строки и замена его на заглавный символ.
- Если символ найден в таблице, то заменяем его на соответствующий символ из второго элемента таблицы.
- Вывод преобразованной строки.
- Возврат 0, означающий успешный исход программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д