Упражнение 1.9. Напишите программу для копирования входного потока в выходной с заменой каждой строки, состоящей из одного или нескольких пробелов, одним пробелом.
/* замена нескольких пробелов одним пробелом */
#include "stdafx.h"
int main()
{
int c;
int nspace = 0; // пробелы
while ((c = getchar()) != EOF) {
/* если c - пробел, увеличиваем счетчик пробелов на 1 */
if(c == ' ')
++nspace;
/* если число пробелов больше одного, затираем один символ и уменьшаем счетчик пробелов на 1 */
if(nspace > 1){
putchar('\b');
--nspace;
}
/* если c - не пробел, обнуляем счетчик пробелов */
if(c != ' ')
nspace = 0;
putchar(c);
}
}
Результат выполнения:
|