Удалить подряд идущие пробелы, не используя библиотеку 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)
Объяснение кода листинга программы
В данном коде выполняется следующие действия:
- Функция
strlen()
принимает в качестве аргумента строкуinput
и возвращает ее длину. - Результат работы функции
strlen()
присваивается переменнойlen
. - Переменная
len
используется для циклаfor
, который выполняетсяlen
раз. - Внутри цикла каждый символ строки
input
выводится на экран с помощью функцииputchar()
. - Если текущий символ является пробелом и предыдущий символ также является пробелом, то в этом случае пропускается вывод текущего символа.
- Если текущий символ не является пробелом, то предыдущий пробел (если он есть) удаляется с помощью функции
putchar()
. - После завершения цикла выводится символ новой строки с помощью функции
putchar()
. В результате выполнения данного кода на экран будет выведена исходная строка без подряд идущих пробелов.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д