Алгоритмы обработки символьной информации - C (СИ)
Формулировка задачи:
Текст, не содержащий собственных имен и сокращений набран полностью прописными русскими буквами. Заменить все прописные буквы, кроме букв, стоящих в начале фразы, строчными буквами
Решение задачи: «Алгоритмы обработки символьной информации»
textual
Листинг программы
#include <stdio.h> #include <Windows.h> void string_edit(char str[], int str_length); int main() { char line[256]; int i; fgets(line, sizeof(line), stdin); string_edit(line, strlen(line)); printf("%s", line); system("pause"); return 0; } void string_edit(char str[], int str_length) { int i; for (i = 1; i < str_length; i++) { if (str[i] >= 'A' && str[i] <= 'Z') { str[i] += 32; } } }
Объяснение кода листинга программы
- Подключение необходимых библиотек
В данном случае используются две библиотеки: стандартная библиотека языка C
stdio.h
для работы с консолью ввода-вывода и библиотекаWindows.h
, которая предоставляет функции для работы с операционной системой Windows. - Определение функции
string_edit
, которая будет выполнять редактирование строки Функция принимает два аргумента: строкуstr
и её длинуstr_length
. - Считывание строки с помощью
fgets
В основной функцииmain
считывается строка из стандартного ввода с помощью функцииfgets
. - Вызов функции
string_edit
Результат работы функцииstring_edit
не используется, поэтому в данном коде она просто вызывается без сохранения результата. - Вывод строки на экран с помощью
printf
После редактирования строки она выводится на экран с помощью функцииprintf
. - Ожидание нажатия клавиши с помощью
system(
pause)
В конце программы вызывается функцияsystem
, которая ожидает нажатия клавиши. - Редактирование строки в функции
string_edit
Внутри функцииstring_edit
происходит проход по всем символам строки, начиная со второго (i=1). - Проверка символа на принадлежность к регистру
Если символ больше или равен 'A' и меньше или равно 'Z', то он преобразуется в нижний регистр с помощью операции инкремента
str[i] += 32
. - Проход по всем символам строки до достижения конца строки
Цикл
for
выполняется до тех пор, пока не будет достигнут конец строки (i<str_length).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д