Удвоить каждое вхождение данной буквы в данной строке - C (СИ)
Формулировка задачи:
Задание для 1-го курса университета: Удвоить каждое вхождение данной буквы в данной строке. Есть варианты?
Решение задачи: «Удвоить каждое вхождение данной буквы в данной строке»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
int main()
{
char s[100] = {0};
int i, j, len;
gets(s);
len = strlen(s);
for (i=0, j=len; i<len; i++, j++)
s[j] = s[i];
s[j] = 0;
i = len;
len = strlen(s);
for (i, j=0; i<len; j+=2, i++)
{
s[j] = s[i];
s[j+1] = s[i];
}
puts(s);
getchar();
return 0;
}
Объяснение кода листинга программы
В этом коде выполняется удвоение каждого вхождения определенной буквы в строке, используя язык программирования C. Вот список действий, которые выполняются в коде:
- Строка вводится с помощью функции
gets(). - Длина строки определяется с помощью функции
strlen(). - В цикле происходит копирование символов из исходной строки в новую строку. Это делается для того, чтобы в итоге получить строку, в которой все символы находятся в двойном экземпляре.
- Используя второй цикл, начинается процесс удвоения определенной буквы. При этом каждый четный индекс новой строки заполняется символом, соответствующим исходному индексу, а каждый нечетный индекс заполняется следующим символом.
- Новая строка выводится на экран с помощью функции
puts(). - В конце программы выполняется функция
getchar(), которая предназначена для ожидания нажатия клавиши. - Программа завершается с кодом возврата 0, что означает успешное выполнение.