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

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

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

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

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

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <ctype.h>
  3.  
  4. char * swap_upper_lower(char * s) {
  5.     char *p = s;
  6.    
  7.     for ( ; *p; ++p )
  8.         *p = ( isupper(*p) ) ? tolower(*p) : toupper(*p);
  9.    
  10.     return s;
  11. }
  12.  
  13. int main(void) {
  14.     char buf[BUFSIZ];
  15.    
  16.     while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
  17.         printf("Result: %s", swap_upper_lower(buf));
  18.    
  19.     return 0;
  20. }

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

  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

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

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

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