Вместо заглавных вывести строчные буквы, вместо строчных заглавные - C (СИ)

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

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

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

Решение задачи: «Вместо заглавных вывести строчные буквы, вместо строчных заглавные»

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

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

  1. Включаются необходимые заголовочные файлы: и .
  2. Объявляется функция swap_upper_lower, которая принимает указатель на строку в качестве аргумента и возвращает указатель на эту же строку.
  3. Внутри функции объявляется указатель p на первый символ строки s.
  4. Происходит итерация по каждому символу строки s, используя цикл for.
  5. Для каждого символа проверяется его регистр с помощью функции isupper. Если символ является заглавной буквой, то к нему применяется функция tolower, которая преобразует его в строчную букву. Если символ является строчной буквой, то к нему применяется функция toupper, которая преобразует его в заглавную букву.
  6. Результат замены записывается обратно в строку s.
  7. Функция возвращает указатель на строку s.
  8. В функции main создается буферная строка buf типа char[BUFSIZ].
  9. Происходит цикл, который считывает строку из стандартного ввода до тех пор, пока не будет введен символ новой строки.
  10. Для каждой считанной строки вызывается функция swap_upper_lower, которая заменяет регистр символов в строке и возвращает новую строку.
  11. Результат выводится на стандартный вывод с помощью функции printf.
  12. По завершении цикла, функция main возвращает 0, что означает успешное завершение работы программы.

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


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

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

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