zamienienie kilku znaków spacji na jedną

0

Cześć,
mam tak:

#include <stdio.h>

int main()
{
	char znak;

	printf("Podaj jedna linie tekstu\n");
	while((znak=getchar())!='\n')
	{	
		if ( )
		{
			znak=' ';
		}
		putchar(znak);
	}
	printf("\n");
	return 0;
}

Po podaniu jednej linii teksu mam go przepisać usuwając przy tym zbędne spacje i zostawić jedną. Podejrzewam, że trzeba wpisać jakiś warunek w instrukcji if, ale nie wiem co. Liczę na pomoc, z góry dzięki.

1
#include <stdio.h>
#include <stdlib.h>
 
int main() {
    char c;
    while((c = getchar())!='\n') {
        if(c==' ') {
            putchar(c);
            while((c = getchar())==' ');
            putchar(c);
            continue;
        }
        putchar(c);
    }
    printf("\n");
    return 0;
}
0

Jeżeli użytkownik wpiszę spacje a potem enter to ci ta spacja ma się pojawić czy nie? Jeżeli nie, to:

#include <stdio.h>

int main()
  {
   int c,prev;
   for(prev=EOF;((c=getchar())!='\n')&&(c!=EOF);prev=c)
     {
      if((c!=' ')||(prev!=' ')) putchar(c);
     }   
   return 0;
  }

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