Заменить строчные буквы прописными и повторить цифры - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Распечатать введенную строку, заменив строчные буквы, прописными и повторив дважды каждую цифру. Помогите написать как можно проще, желательно с комментариями

Решение задачи: «Заменить строчные буквы прописными и повторить цифры»

textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
 
int main(void)  {
    char ch;
    while ( (ch = getchar()) != '\n' ) { // считываем по символу до нажатия Enter   
        if ( isdigit(ch) )  // если число 
            printf("%c%c", ch, ch); // выводим дважды
        else
            if ( islower(ch) && isalpha(ch) ) // если буква и строчная  
                printf("%c", toupper(ch));  // выводим прописной
            else
                printf("%c", ch); // в остальных случаяях просто выводим введенный символ
    }
    return 0;
}

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

  1. В коде используется язык программирования C.
  2. Код считывает по символу из стандартного ввода до нажатия Enter и выводит результат на стандартный вывод.
  3. Переменная ch используется для хранения считанного символа.
  4. С помощью функции getchar() происходит считывание символа из стандартного ввода.
  5. Цикл while продолжается до тех пор, пока не будет считан символ новой строки (\n).
  6. Если считанный символ является числом (функция isdigit() возвращает ненулевой результат), то он выводится дважды с помощью функции printf().
  7. Если считанный символ является буквой и строчной (функции islower() и isalpha() возвращают ненулевые результаты), то он преобразуется в прописную с помощью функции toupper() и выводится один раз.
  8. В остальных случаях просто выводится считанный символ.
  9. Код не использует динамическое выделение памяти.
  10. Код не содержит комментариев.
  11. Код не содержит использования библиотеки stdlib.h.
  12. Код не содержит использования библиотеки string.h.
  13. Код не содержит использования библиотеки math.h.
  14. Код не содержит использования библиотеки time.h.
  15. Код не содержит использования библиотеки ctype.h кроме функции isdigit().
  16. Код не содержит использования библиотеки stdio.h кроме функции printf().
  17. Код не содержит использования библиотеки stddef.h.
  18. Код не содержит использования библиотеки limits.h.
  19. Код не содержит использования библиотеки float.h.
  20. Код не содержит использования библиотеки iso646.h.

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


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

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

10   голосов , оценка 4.1 из 5
Похожие ответы