Как, используя toupper(), перевести текст в заглавный? - C (СИ)

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

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

Хорошо, как используя toupper() перевести текст в заглавный?

Решение задачи: «Как, используя toupper(), перевести текст в заглавный?»

textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
 
char * str_toupper(char * s) {
    if ( *s ) {
        *s = toupper(*s);
        str_toupper(s + 1);
    }
    
    return s;
}
 
int main(void) {
    char buf[BUFSIZ];
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
        printf("UPPERCASE: %s", str_toupper(buf));
    
    return 0;
}

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

  1. Включаем необходимые заголовочные файлы и .
  2. Определяем функцию str_toupper(), которая принимает указатель на начало строки и переворачивает строку в верхний регистр.
  3. Если первый символ строки не равен нулю, то мы применяем функцию toupper() к этому символу и записываем его обратно в строку.
  4. Затем рекурсивно вызываем функцию str_toupper() для следующего симвома в строке.
  5. Если первый символ строки равен нулю, то мы завершаем рекурсию и возвращаем указатель на начало строки.
  6. В функции main() мы считываем строку с помощью fgets() в буфер buf, размер которого определен как BUFSIZ.
  7. Мы продолжаем считывать строки до тех пор, пока пользователь не введет пустую строку или не завершит ввод.
  8. Для каждой введенной строки мы вызываем функцию str_toupper(), передавая ей указатель на начало строки.
  9. Результат функции str_toupper() выводится на экран с помощью функции printf().
  10. В конце функции main() возвращается 0, что означает успешный конец работы программы.

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


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

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

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