Замена букв в строке на заглавные - 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
Листинг программы
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <ctype.h>
  4.  
  5. const char* TABLE[] = { "ABEIOS", "483105" };
  6.  
  7. int main(void) {
  8.     char s[] = "This stuff really works", * ptr, * found;
  9.    
  10.     for ( ptr = s; *ptr; ++ptr ) {
  11.         *ptr = toupper(*ptr);
  12.         if ( found = strchr(TABLE[0], *ptr) )
  13.             *ptr = TABLE[1][found - TABLE[0]];
  14.     }
  15.    
  16.     printf("%s\n", s);
  17.    
  18.     return 0;
  19. }

Объяснение кода листинга программы

  1. Подключение необходимых библиотек для работы со строками и символами.
  2. Объявление таблицы соответствий для замены букв на заглавные.
  3. Объявление и инициализация строки, которую необходимо преобразовать.
  4. Объявление указателя на текущий символ строки и указателя на найденный символ в таблице.
  5. Проход по каждому символу строки и замена его на заглавный символ.
  6. Если символ найден в таблице, то заменяем его на соответствующий символ из второго элемента таблицы.
  7. Вывод преобразованной строки.
  8. Возврат 0, означающий успешный исход программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы