解题思路:
去空格方法很简单,只需要加一个IF判断是否是空格,如果不是就将其输出即可。

输入以“End of file”结束,这就需要在while里面放一个 scanf("%c",&n)!=EOF 语句。

EOF,为End Of File的缩写,通常在文本的最后存在此字符表示资料结束。

其实某种层面上可以把它理解为-1,例如scanf("%d %d",&a,&b),如果a、b均赋值成功返回值为2,只是a赋值成功返回1,a、b都不成功返回0,出错的时候返回EOF。
所以说,如果我们输入了一个值那么返回就为1,
即 1 != -1 ,
即 1 != EOF ,
即 scanf("%d",&n) != EOF
即 while(scanf("%d",&n) != EOF) 中while(A)语句中的事件A是正确即1,while(1){ },进行下一循环。

参考代码:
#include <stdio.h>
int main()
{
	int i=0,j;
	char n;
	while(scanf("%c",&n)!=EOF)
	{
		if(n!=' ')
		{
		printf("%c",n);
		}
		
	}		
}


点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

追梦人 2年前 回复TA
为什么char n只用是字符就行不应该是字符串吗?