Керниган/ритчи задачи 1.18 - C (СИ)

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

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

Упражнение 1.18. Напишите программу, которая будет в каждой вводимой строке заменять стоящие подряд символы пробелов и табуляций на один пробел и удалять пустые строки. Нижеприведенный код удаляет лишние пробелы, но вот табуляцию постоянно меняет на пробел, т.е. замест 2-ух подряд табуляций выведет 2 пробела, нужен 1. Меня не хватило дальше на этот код)
 #include <stdio.h>
 #define MAX 1000;
main()
{
    int c, lastc = 'a';
    while ((c = getchar()) != EOF)
    {
        if (c != ' ' && c != '\t')
            putchar(c);
        else if (lastc == ' ' || lastc == '/t')
            ;
        else if (c == '\t')
            putchar(' ');
        else if (c == '\n' && lastc == '\n')
            putchar('\b');      
        else
            putchar(c);
        lastc = c;      
    }       
}

Решение задачи: «Керниган/ритчи задачи 1.18»

textual
Листинг программы
lastc == '/t'

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

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