Задача: Напишите программу, которая получает текстовый ввод с помощью getchar()
и выводит строку, удалив кратные пробелы.
Вот как я написал псевдокод:
While each input character is received before reaching EOF, do the following:
1) if character is non-blank, print it out
2) otherwise:
a. print out the blank
b. do nothing untill the next non-blank character
3) if a non-blank character is reached, go back to 1)
Я попытался реализовать алгоритм как таковой:
#include <stdio.h>
/* replaces multiple blanks with a single blank */
main(){
char c;
while((c= getchar())!=EOF){
if (c != ' ')
putchar(c);
else {
putchar(c);
while(c == ' ')
;
}
}
}
Когда строка содержит пробелы, она останавливается. Я не уверен, как я должен его отлаживать. Я думаю, что проблема с моим вторым while
, и программа входит в бесконечный цикл, а не ждет новых символов.
while(c == ' ') ;
- бесконечный цикл. обновитьc
. - person BLUEPIXY   schedule 29.11.2014