Заменить каждую пару символов '**' на символ ' ' - C (СИ)
Формулировка задачи:
Доброго вечера! Не получается в задаче замена (подсчет C и D работает), поправьте пожалуйста, если кому не трудно. Вот условие:
Подсчитать количество букв 'C' и 'D' отдельно и заменить каждую пару символов '**' на символ ' '.
#include<stdio.h> #include<string.h> #include<conio.h> int main() { int i,j,kol,kol1; char s[100]; puts("Vvedite stroku:"); gets(s); puts("Ishodnaya stroka:"); puts(s); kol=0; for(i=0;i<strlen(s);i++) if((s[i]=='C')) kol++; kol1=0; for(i=0;i<strlen(s);i++) if((s[i]=='D')) kol1++; for(i=0;i<strlen(s)-1;i++) if(s[i]=='*'&&s[i+1]=='*') { for(j=strlen(s);j>i;j--) s[j+1]=s[j]; s[i+1]=' '; i+=1; } printf("V stroke kolichestvo simvolov C=%d\n",kol); printf("V stroke kolichestvo simvolov D=%d\n",kol1); puts("Polu4ennaya stroka:"); puts(s); getch(); }
Решение задачи: «Заменить каждую пару символов '**' на символ ' '»
textual
Листинг программы
while(*st=strstr(s,"**"))
Объяснение кода листинга программы
- В начале кода инициализируется переменная
s
типом данныхchar*
. - Далее в цикле while происходит поиск следующего символа '**' в строке
s
. Функция strstr() возвращает указатель на первый символ найденной подстроки, или NULL, если подстрока не найдена. - Если символ '**' найден, то указатель на него сохраняется в переменной
st
. - Затем происходит замена пары символов '**' на пробел. Для этого используется оператор
=
для присваивания значения переменнойst
символу ' '. - После выполнения всех операций в цикле, значение переменной
s
будет изменено и будет содержать исходную строку с заменой каждой пары символов '**' на пробел.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д