c++ 信息学奥赛 2047:【例5.16】过滤空格

cpp 复制代码
#include<cstdio>
using namespace std;
char st[200];
int main()
{ 
     while (scanf("%s",&st)==1)
       printf("%s ",st);        
	   //%s 后要有一个空格,不能省略
     return 0;
}

解析:本题中使用一个技巧,那就是scanf函数在读取数据时,不读取空格。当遇到空格时就停止了。

以下是一些关于scanf函数的重要信息:

  1. scanf函数的原型如下:

    复制代码

    int scanf(const char *format, ...);

    它返回成功读取的项目数。

  2. format参数是一个格式字符串,用于指定要读取的数据类型和格式。例如,%d表示读取整数,%f表示读取浮点数,%s表示读取字符串等。

  3. scanf函数根据格式字符串中的格式说明符,将输入的数据转换为相应的类型,并将其存储到相应的变量中。例如:

    复制代码

    int age; printf("Enter your age: "); scanf("%d", &age);

    在上面的示例中,%d表示读取一个整数,并将其存储到age变量中。&运算符用于获取age变量的地址。

  4. scanf函数可以一次读取多个数据项,只需在格式字符串中指定相应的格式说明符,并在变量的地址前加上&运算符。

  5. scanf函数遇到空格、制表符或换行符时会停止读取。可以使用空格或制表符分隔不同的数据项。

  6. scanf函数返回成功读取的项目数。如果读取失败,返回值将小于指定的项目数。

  7. scanf函数对于错误的输入可能会导致程序出现问题,因此需要小心处理输入错误的情况

本题用到了的核心知识点:利用了scanf函数读取数据时,遇到空格就停止,结合while循环,不断读取下一个的技巧。scanf函数中,取地址符的用法。

如果想要了解更多编程知识,可关注我们,我们将不断更新,为大家提供更多的编程技巧和方法。如果你想要私信我们,也可以,随时欢迎大家。加油。

相关推荐
Rabitebla39 分钟前
【C++】string 类:原理、踩坑与对象语义
linux·c语言·数据结构·c++·算法·github·学习方法
邪修king1 小时前
UE5 零基础入门第四弹:UMG UI 系统入门,从静态界面到逻辑联动
c++·ui·ue5
小雅痞2 小时前
[Java][Leetcode middle] 167. 两数之和 II - 输入有序数组
java·算法·leetcode
CN-Dust2 小时前
【C++】输入cin例题专题
java·c++·算法
数模竞赛Paid answer3 小时前
2025年MathorCup数学建模A题汽车风阻预测解题文档与程序
算法·数学建模·mathorcup
Old Uncle Tom8 小时前
OpenClaw 记忆系统 -- 记忆预加载
java·数据结构·算法·agent
会编程的土豆9 小时前
洛谷题单入门1 顺序结构
数据结构·算法·golang
生信碱移9 小时前
PACells:这个方法可以鉴定疾病/预后相关的重要细胞亚群,作者提供的代码流程可以学习起来了,甚至兼容转录组与 ATAC 两种数据类型!
人工智能·学习·算法·机器学习·数据挖掘·数据分析·r语言
智者知已应修善业9 小时前
【51单片机中的打飞机设计】2023-8-25
c++·经验分享·笔记·算法·51单片机
智者知已应修善业11 小时前
【51单片机按键调节占空比3位数码管显示】2023-8-24
c++·经验分享·笔记·算法·51单片机