Удалить подряд идущие пробелы, не используя библиотеку string - C (СИ)

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

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

Удалить подряд идущие пробелы не используя библиотеку string.h Пример реализации:
#include <stdio.h>
#include <string.h>
 
int main()
{
        char input[100] = {"type text"};
        char result[100];
        fgets(input, 100, stdin);
        for (int i, j = 0; i < strlen(input); i++, j++) {
                if (input[i] == ' ') {
                        while (input[++i] == ' ') {}
                        result[j++] = ' ';
                }
                result[j] = input[i];
 
        }
        fputs(result, stdout);
}

Решение задачи: «Удалить подряд идущие пробелы, не используя библиотеку string»

textual
Листинг программы
strlen(input)

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

В данном коде выполняется следующие действия:

  1. Функция strlen() принимает в качестве аргумента строку input и возвращает ее длину.
  2. Результат работы функции strlen() присваивается переменной len.
  3. Переменная len используется для цикла for, который выполняется len раз.
  4. Внутри цикла каждый символ строки input выводится на экран с помощью функции putchar().
  5. Если текущий символ является пробелом и предыдущий символ также является пробелом, то в этом случае пропускается вывод текущего символа.
  6. Если текущий символ не является пробелом, то предыдущий пробел (если он есть) удаляется с помощью функции putchar().
  7. После завершения цикла выводится символ новой строки с помощью функции putchar(). В результате выполнения данного кода на экран будет выведена исходная строка без подряд идущих пробелов.

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

14   голосов , оценка 3.929 из 5
Похожие ответы