Удалить из строки все символы, расположенные до первого и после последнего символа "+" - C (СИ)

Узнай цену своей работы

Формулировка задачи:

ТЗ: ввести строку. Удалить все символы, расположенные до первого и после последнего символа "+".

Решение задачи: «Удалить из строки все символы, расположенные до первого и после последнего символа "+"»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main()
  6. {
  7.     char *str = (char*)malloc(sizeof(char) * 1007);
  8.     gets(str);
  9.    
  10.     while(*str != '+') str++;
  11.    
  12.     char *end = str + strlen(str) - 1;
  13.     while(*end != '+')
  14.     {
  15.         *end = 0;
  16.         end--;
  17.     }
  18.    
  19.     puts(str);
  20.    
  21.     return 0;
  22. }

Объяснение кода листинга программы

  1. Включаем необходимые заголовочные файлы для работы с памятью и строками
  2. Объявляем функцию main()
  3. Выделяем память под строку, используя malloc. Задаём размер в 1007 символов, так как в C строки представлены как массивы символов, завершающиеся нулевым символом ('\0').
  4. Используем функцию gets() для заполнения выделенной памяти строкой.
  5. Инициализируем указатель str, указывающий на начало строки.
  6. В цикле while считываем символы до тех пор, пока не встретим символ '+'. С помощью оператора инкремента увеличиваем значение указателя на единицу после каждой итерации цикла.
  7. После окончания цикла while, получаем указатель на последний символ строки, вычитая из него длину строки - 1.
  8. В обратном цикле while считываем символы, начиная с конца строки, до тех пор, пока не встретим символ '+'.
  9. Внутри цикла заменяем текущий символ на нулевой символ ('\0'), чтобы удалить его из строки. Указатель при этом уменьшается на единицу.
  10. После окончания цикла while выводим измененную строку на экран с помощью функции puts().
  11. Возвращаем 0, чтобы операционная система знала, что программа успешно завершилась.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы