Алгоритмы обработки символьной информации - 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;
        }
    }
}

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

  1. Подключение необходимых библиотек В данном случае используются две библиотеки: стандартная библиотека языка C stdio.h для работы с консолью ввода-вывода и библиотека Windows.h, которая предоставляет функции для работы с операционной системой Windows.
  2. Определение функции string_edit, которая будет выполнять редактирование строки Функция принимает два аргумента: строку str и её длину str_length.
  3. Считывание строки с помощью fgets В основной функции main считывается строка из стандартного ввода с помощью функции fgets.
  4. Вызов функции string_edit Результат работы функции string_edit не используется, поэтому в данном коде она просто вызывается без сохранения результата.
  5. Вывод строки на экран с помощью printf После редактирования строки она выводится на экран с помощью функции printf.
  6. Ожидание нажатия клавиши с помощью system(pause) В конце программы вызывается функция system, которая ожидает нажатия клавиши.
  7. Редактирование строки в функции string_edit Внутри функции string_edit происходит проход по всем символам строки, начиная со второго (i=1).
  8. Проверка символа на принадлежность к регистру Если символ больше или равен 'A' и меньше или равно 'Z', то он преобразуется в нижний регистр с помощью операции инкремента str[i] += 32.
  9. Проход по всем символам строки до достижения конца строки Цикл for выполняется до тех пор, пока не будет достигнут конец строки (i<str_length).

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


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

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

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