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


展开阅读全文

没有更多推荐了,返回首页