Напишите программу, которая заменяет в символьной строке все буквы a на буквы b (латинские, строчные)....

Тематика Информатика
Уровень 10 - 11 классы
строки замена символов программирование буквы латинские строчные алгоритм
0

Напишите программу, которая заменяет в символьной строке все буквы a на буквы b (латинские, строчные).

В Си

avatar
задан месяц назад

2 Ответа

0

include

include

int main() {

char str[100];

printf("Enter a string: ");
fgets(str, sizeof(str), stdin);

for(int i = 0; i < strlen(str); i++) {
    if(str[i] == 'a') {
        str[i] = 'b';
    }
}

printf("Modified string: %s", str);

return 0;

}

avatar
ответил месяц назад
0

Конечно, давайте разберем, как написать программу на языке C, которая заменяет все строчные латинские буквы 'a' на 'b' в символьной строке.

Шаги решения задачи:

  1. Получение строки: Нам нужно получить строку, в которой мы будем заменять символы.
  2. Проход по строке: Пройдем по каждому символу в строке.
  3. Замена символа: Если текущий символ является 'a', заменим его на 'b'.
  4. Вывод результата: После завершения прохода по строке выведем измененную строку.

Программа на языке C:

#include 
#include 

void replace_a_with_b(char *str) {
    // Проходим по каждому символу строки
    for (int i = 0; str[i] != '\0'; i++) {
        // Если символ является 'a', заменяем его на 'b'
        if (str[i] == 'a') {
            str[i] = 'b';
        }
    }
}

int main() {
    // Пример строки
    char str[100];

    // Запрашиваем ввод строки от пользователя
    printf("Enter a string: ");
    fgets(str, sizeof(str), stdin);

    // Удаляем символ новой строки, если он есть
    size_t len = strlen(str);
    if (len > 0 && str[len - 1] == '\n') {
        str[len - 1] = '\0';
    }

    // Заменяем все 'a' на 'b'
    replace_a_with_b(str);

    // Выводим результат
    printf("Modified string: %s\n", str);

    return 0;
}

Объяснение программы:

  • Ввод строки: Мы используем fgets для безопасного ввода строки, так как fgets позволяет предотвратить переполнение буфера, в отличие от gets, который небезопасен.
  • Функция replace_a_with_b: Эта функция принимает строку и проходит по каждому символу. Если символ равен 'a', он заменяется на 'b'.
  • Удаление символа новой строки: fgets сохраняет символ новой строки \n, который вводится при нажатии Enter. Чтобы избежать этого, мы проверяем и удаляем его, если он присутствует.
  • Вывод результата: После обработки строки выводим модифицированную строку.

Эта программа демонстрирует простой пример обработки текста в языке C, где используются базовые конструкции, такие как циклы и условия для выполнения задачи замены символов в строке.

avatar
ответил месяц назад

Ваш ответ

Вопросы по теме