#include<cstdio>
using namespace std;
char st[200];
int main()
{
while (scanf("%s",&st)==1)
printf("%s ",st);
//%s 后要有一个空格,不能省略
return 0;
}
解析:本题中使用一个技巧,那就是scanf函数在读取数据时,不读取空格。当遇到空格时就停止了。
以下是一些关于scanf
函数的重要信息:
-
scanf
函数的原型如下:int scanf(const char *format, ...);
它返回成功读取的项目数。
-
format
参数是一个格式字符串,用于指定要读取的数据类型和格式。例如,%d
表示读取整数,%f
表示读取浮点数,%s
表示读取字符串等。 -
scanf
函数根据格式字符串中的格式说明符,将输入的数据转换为相应的类型,并将其存储到相应的变量中。例如:int age; printf("Enter your age: "); scanf("%d", &age);
在上面的示例中,
%d
表示读取一个整数,并将其存储到age
变量中。&
运算符用于获取age
变量的地址。 -
scanf
函数可以一次读取多个数据项,只需在格式字符串中指定相应的格式说明符,并在变量的地址前加上&
运算符。 -
scanf
函数遇到空格、制表符或换行符时会停止读取。可以使用空格或制表符分隔不同的数据项。 -
scanf
函数返回成功读取的项目数。如果读取失败,返回值将小于指定的项目数。 -
scanf
函数对于错误的输入可能会导致程序出现问题,因此需要小心处理输入错误的情况
本题用到了的核心知识点:利用了scanf函数读取数据时,遇到空格就停止,结合while循环,不断读取下一个的技巧。scanf函数中,取地址符的用法。文章来源:https://www.toymoban.com/news/detail-745034.html
如果想要了解更多编程知识,可关注我们,我们将不断更新,为大家提供更多的编程技巧和方法。如果你想要私信我们,也可以,随时欢迎大家。加油。文章来源地址https://www.toymoban.com/news/detail-745034.html
到了这里,关于c++ 信息学奥赛 2047:【例5.16】过滤空格的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!