Вместо заглавных вывести строчные буквы, вместо строчных заглавные - 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; }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы:
и . - Объявляется функция swap_upper_lower, которая принимает указатель на строку в качестве аргумента и возвращает указатель на эту же строку.
- Внутри функции объявляется указатель p на первый символ строки s.
- Происходит итерация по каждому символу строки s, используя цикл for.
- Для каждого символа проверяется его регистр с помощью функции isupper. Если символ является заглавной буквой, то к нему применяется функция tolower, которая преобразует его в строчную букву. Если символ является строчной буквой, то к нему применяется функция toupper, которая преобразует его в заглавную букву.
- Результат замены записывается обратно в строку s.
- Функция возвращает указатель на строку s.
- В функции main создается буферная строка buf типа char[BUFSIZ].
- Происходит цикл, который считывает строку из стандартного ввода до тех пор, пока не будет введен символ новой строки.
- Для каждой считанной строки вызывается функция swap_upper_lower, которая заменяет регистр символов в строке и возвращает новую строку.
- Результат выводится на стандартный вывод с помощью функции printf.
- По завершении цикла, функция main возвращает 0, что означает успешное завершение работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д