После ввода пробела заменить следующую строчную букву на заглавную и наоборот - C (СИ)
Формулировка задачи:
Здравствуйте! Первый семестр изучаю си, который дается мне очень тяжело (первый язык программирования).
Бьюсь пол недели над кодом который после получения в тексте 'пробел' будет менять в следующем слове строчную букву на заглавную или заглавную на строчную. Пример:
Disease is the retribution Of Outraged Nature
Desease Is The Retribution of outraged nature
как можно такое написать не используя готовые функции? Спасибо
Решение задачи: «После ввода пробела заменить следующую строчную букву на заглавную и наоборот»
textual
Листинг программы
#include <stdio.h> int main() { int c, prc; while ((c = getchar()) != EOF) { if (prc == ' ') { if (c >= 'a' && c <= 'z') putchar(c - 32); if (c >= 'A' && c <= 'Z') putchar(c + 32); } else putchar(c); prc = c; } return 0; }
Объяснение кода листинга программы
- Вводится символ 'c' при помощи функции getchar()
- Если символ 'c' равен пробелу ' ' то выполняется следующий блок кода
- Проверяется, является ли символ 'c' строчной буквой от 'a' до 'z' (включительно)
- Если это так, то из 'c' вычитается 32 и результат выводится на экран при помощи функции putchar()
- Проверяется, является ли символ 'c' заглавной буквой от 'A' до 'Z' (включительно)
- Если это так, то из 'c' прибавляется 32 и результат выводится на экран при помощи функции putchar()
- Если символ 'c' не равен пробелу ' ', то он выводится на экран без изменений при помощи функции putchar()
- Значение символа 'c' присваивается переменной 'prc'
- Цикл while продолжается, пока не будет достигнут конец файла (EOF)
- В конце программы возвращается 0, что означает успешное выполнение
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д