Конечно, давайте разберем, как написать программу на языке C, которая заменяет все строчные латинские буквы 'a' на 'b' в символьной строке.
Шаги решения задачи:
- Получение строки: Нам нужно получить строку, в которой мы будем заменять символы.
- Проход по строке: Пройдем по каждому символу в строке.
- Замена символа: Если текущий символ является 'a', заменим его на 'b'.
- Вывод результата: После завершения прохода по строке выведем измененную строку.
Программа на языке 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, где используются базовые конструкции, такие как циклы и условия для выполнения задачи замены символов в строке.