wypisywanie słów w nowym wierszu

0

Napisałem taki program który wypisuje ciąg słów w ten sposób, że każde z nich wypisuje w osobnym wierszu. Coś jednak jest nie tak dla pojedynczej spacji i pojedynczego znaku tabulacji: wtedy robi wiersz odstępu. Nie wiem jak to rozwiązać, na pewno trzeba użyć jak najprostszych środków. Bardzo dziękuję za pomoc, oto program:

#include <stdio.h>
main()
{
int c,i;

i=0;

while((c=getchar())!= EOF)
{
if(c== ' ' || c=='\t')
i=i+1;
if(i==1)
printf("\n");
if(i>1)
;
if(c!=' ' && c!='\t')
{
putchar(c);
i=0;
}
}
}

0

Uproszczenie to faktycznie jedyna metoda, aby ten algorytm działał

#include <stdio.h>
main()
{
  int c,i=1; // i=1, aby nie reagowal na pierwsza spacje/taba
  while((c=getchar())!= EOF){
    if((c==' ' || c=='\t' || c=='\n')&& !i){ // tylko raz, gdy i==0
      printf("\n");
      i++;
    }
    if(c!=' ' && c!='\t' && c!='\n'){ // nie zapomniales o znaku nowej linii ??
      putchar(c);
      i=0;
    }
  }
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1