1. 程式人生 > >C語言之練習1-9多個空格用一個空格代替

C語言之練習1-9多個空格用一個空格代替

【FROM 網際網路,僅供參考】

C程式設計語言課後題

練習1-9 編寫一個將輸入複製到輸出的程式,並將其中的多個空格用一個空格代替?

/****************************************************************************/
/*   C程式設計語言
練習1-9編寫一個將輸入複製到輸出的程式,並將其中連續的多個空格用一個空格代替*/
/****************************************************************************/
//#define  FIRST_DEMO
//#define  SECOND_DEMO
#define  THIRD_DEMO
#ifdef FIRST_DEMO
#include <stdio.h>
#include <conio.h>
int main(void)
{
	int c;
    int n=0;
	while((c=getchar())!=EOF)
	{
		if (c != ' ')
		{
			putchar(c);
		}
		else if ( n!=' ')
		{
			putchar(c);
		}
		n=c;
	}

	getch();
	return 0;
}
#elif defined SECOND_DEMO
#include <stdio.h>
#include <conio.h>
int main(void)
{
	int c,pc;
	while((c=getchar())!=EOF)
	{
		if ( c == ' ')
		{
			if (pc != ' ')
			{
				putchar(c);
			}
		}
		if ( c != ' ')
		{
			putchar(c);
		}
		pc = c;
	}
	getch();
	return 0;
}
#elif defined THIRD_DEMO
#include <stdio.h>
#include <conio.h>
int main(void)
{
	int c;
	int inspace=0;
	while((c=getchar())!=EOF)
	{
		if (c==' ')
		{
			if (inspace ==0)
			{
				inspace=1;
				putchar(c);
			}
		}
		if (c!=' ')
		{
			inspace=0;
			putchar(c);
		}
	}
	getch();
	return 0;
}
#endif