Подсчитать все вхождение «abc» в строку и их удалить. - C (СИ)
Формулировка задачи:
Дана строка, содержащая сорок латинских букв. Подсчитать все вхождение «abc» в строку и их удалить. Вывести на экран два варианта полученных строк, заполняя образовавшую «дыру» последующими буквами с добавлением в конце пробелов, и, оставляя на месте удаленных символов пробелы.
Не знаю как удалить "abc" из строки.
Решение задачи: «Подсчитать все вхождение «abc» в строку и их удалить.»
textual
Листинг программы
// 10_2.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <stdio.h> #include <string.h> #include <conio.h> #include <iostream> using namespace std; int main(void) { char s[] = "abc Heabcllo woabcrld"; char *c; printf("This line:\n "); for(int i = 0; i < 22; i++) { printf("%c",s[i]); } printf("\n #1:\n"); for ( c = strstr(s, "abc") ; c ; c = strstr(s, "abc") ) strcpy(c, c + 3); printf("%s\n", s); char si[]=" "; char *c1; char s1[] = "abc Heabcllo woabcrld"; for ( c1 = strstr(s1, "abc") ; c1 ; c1 = strstr(s1, "abc") ) strncpy(c1,si,3); printf("\n #2:\n"); printf("%s\n", s1); _getch(); }
Объяснение кода листинга программы
В этом коде происходит подсчет и удаление всех вхождений abc
из строки, используя функции стандартной библиотеки языка C.
- Строка, в которой нужно найти и удалить
abc
, объявлена какchar s[] =
abc Heabcllo woabcrld;
. - Далее, с помощью функции printf, выводится исходная строка на экран.
- Используя цикл for и функцию strstr, которая ищет первое вхождение подстроки
abc
в строке s, мы начинаем удалять все вхожденияabc
. Функция strcpy используется для замены найденного вхожденияabc
на пустую строку. - После удаления всех вхождений
abc
, с помощью функции printf выводится измененная строка на экран. - Для второго примера используется такая же логика, но с функцией strncpy вместо strcpy, чтобы заменить только первые три символа
abc
на пустую строку. - В конце программы используется функция _getch для приостановки выполнения программы и получения ввода от пользователя.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д