Ввод-вывод. Замена нескольких пробелов одним. Код и блок-схема прилагаются. - C (СИ)
Формулировка задачи:
Учу С по Кернигану и Ричи. Упражнение 1-7. Напишите программу, которая копирует ввод на вывод, заменяя при этом каждую последовательность из одного или более пробелов на один пробел.
Составил блок-схему алгоритма и код, но программа не работает. Помогите, пожалуйста, найти ошибку. Заранее спасибо.
Подскажите, пожалуйста, где ошибка (не писать, что в ДНК ) - в алгоритме или только в его реализации? Как исправить?
#include<stdio.h> int main() { int c; c=getchar(); while(c != '.'){ if (c=' ') { c=getchar(); while(c=' ') c=getchar(); printf(" "); putchar(c); c=getchar(); } if (c != ' '){ putchar(c); c=getchar(); } } return 0; }
Решение задачи: «Ввод-вывод. Замена нескольких пробелов одним. Код и блок-схема прилагаются.»
textual
Листинг программы
if (c == ' ') {.... //код ... ...printf(" "); } putchar(c); c = getchar(); // создал новое значение c, которое проверится }
Объяснение кода листинга программы
- Проверка условия:
if (c == ' ')
. - Код внутри условия:
...
...
printf(
);
- выводит один пробел
- Код после условия:
putchar(c);
- выводит текущее значениеc
c = getchar();
- обновляет значениеc
новым вводом пользователя
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д