C语言高级题目

来源:百度知道 编辑:UC知道 时间:2024/05/21 06:24:33
要求:只用GETCHAR和PUTCHAR来完成,编写一个程序,先输入,再以每行一个单词的形式输出
我写的是这样的:
#include <STDIO.H>

main()
{
char c;
int flag = 0;
while((c = getchar()) != EOF)
{
if(((c == '\t')||(c == ' ')||(c = '\n'))&&(flag < 1))
{
c = '\n';
++flag;
putchar(c);
}

else if(flag > 1)
{
flag = 0;
putchar(c);
}
}
return 0;
}

不知道错在哪里,只知道是逻辑错误,请各位前辈指点

#include <STDIO.H>

int main()
{
char c,temp;
while((c = getchar()) != EOF)
{
if(((c == '\t')||(c == ' ')||(c == '\n')))
{
c = '\n';
if(temp!='\n')
putchar(c);
}

else
{
putchar(c);
}
temp=c;
}
return 0;
}已经改正可以实现,有问题hi我。

顶一楼。用一楼答案吧