//本算法以每行一个单词的形式打印输入
#include <stdio.h>
#define IN 1
#define OUT 0
main()
{
int c , state;
state = OUT; //state来看是否在单词内外部,一开始定为在外部
while((c=getchar()) != EOF) //未遇到结束符
{
if(c == ' ' || c == '\n' || c == '\t') //判断是否遇到分隔符
{
if(state == IN) //如果在单词内部
{
putchar('\n');//需要给单词划分
state = OUT;//状态换成另一行
}
else if(state == OUT)//c不是分隔符,且为单词的第一个字符
{
state = IN; //修改状态
putchar(c);//输出这个字符
}else
putchar(c);//c不是第一个字符,而是其他字符,直接输出
}
}
}