前言

当输入流是一个字符串,我们需要在其中提取我们所需要的数值时,我们可以在读入阶段就完成数据的筛选工作。

使用方法

  • scanf("%ns", str);

    表示读取长度为n的字符串

    输入:123456

    输出str:123 ( 以scanf("%3s", str);为例 )

  • scanf("%[a-z]", str);

    表示读取a-z的小写字母,出现非a-z的小写字母,立即停止读取。

    输入:abcd123

    输出str:abcd

  • scanf("%*[a-z]%s", str);

    %*[ ]表示过滤掉满足括号内条件的字符串   %[ ]表示读取

    输入:abcd123

    输出str:123

  • scanf("%[^0-9]", str);

    ^表示非,^0-9表示非0-9的一切字符,因此是遇到0-9就立即停止读取。

    输入:abcd123

    输出str:abcd

    PS:%[^\n] 表示 读取回车符以前的所有字符,常用于读取含空格的字符串

      %[^ ] 表示 读取空格符以前的所有字符。

  • scanf("%*[^\n]%d", &num);

    表示过滤掉回车以前所有的字符,并将回车符的下一个数字赋给num。

    输入:abcd\n12

    输出num:12

    PS:%*[^ ]表示过滤空格以前的所有字符

  • scanf("%nd", &num);

    表示读入一个n位数字,储存在num中

    输入12314    scanf("%3d", &num);

    输出num :  123

scanf在竞赛中的技巧总结ing的更多相关文章

  1. 【ZOJ】3785 What day is that day? ——浅谈KMP在ACM竞赛中的暴力打表找规律中的应用

    转载请声明出处:http://www.cnblogs.com/kevince/p/3887827.html    ——By Kevince 首先声明一下,这里的规律指的是循环,即找到最小循环周期. 这 ...

  2. 浅谈Python在信息学竞赛中的运用及Python的基本用法

    浅谈Python在信息学竞赛中的运用及Python的基本用法 前言 众所周知,Python是一种非常实用的语言.但是由于其运算时的低效和解释型编译,在信息学竞赛中并不用于完成算法程序.但正如LRJ在& ...

  3. Aho-Corasick automaton(AC自动机)解析及其在算法竞赛中的典型应用举例

    摘要: 本文主要讲述了AC自动机的基本思想和实现原理,如何构造AC自动机,着重讲解AC自动机在算法竞赛中的一些典型应用. 什么是AC自动机? 如何构造一个AC自动机? AC自动机在算法竞赛中的典型应用 ...

  4. Trie(字典树)解析及其在编程竞赛中的典型应用举例

    摘要: 本文主要讲解了Trie的基本思想和原理,实现了几种常见的Trie构造方法,着重讲解Trie在编程竞赛中的一些典型应用. 什么是Trie? 如何构建一个Trie? Trie在编程竞赛中的典型应用 ...

  5. 如何使用Python在Kaggle竞赛中成为Top15

    如何使用Python在Kaggle竞赛中成为Top15 Kaggle比赛是一个学习数据科学和投资时间的非常的方式,我自己通过Kaggle学习到了很多数据科学的概念和思想,在我学习编程之后的几个月就开始 ...

  6. Interface Builder中的技巧

    在我工作中经常会遇到有人吐槽Xcode中的interface builder(以下简称IB)不好用的开发者.在我看来,IB是一个非常棒的可视化开发工具,可以非常快捷的设置UI控件的大部分常用属性.下面 ...

  7. 【167】IDL 中相关技巧

    IDL 中相关技巧 1. 注释:分号“;”表示注释内容的开始. 2. 续行:最后一个字符是“$”,那么本行将紧接着下一行,续行标志.(换行符,$+回车) 3. 中文编码:窗口>首选项>常规 ...

  8. STL函数 lower_bound 和 upper_bound 在算法竞赛中的用法

    以前比较排斥这两个函数,遇到需要二分的情景都是手写 \(while(left<=right)\). 这次决定洗心革面记录一下这两个函数的在算法竞赛中的用法,毕竟一般不会导致TLE. 其实百度百科 ...

  9. 算法竞赛中的常用JAVA API:PriorityQueue(优先队列)(转载)

    算法竞赛中的常用JAVA API:PriorityQueue(优先队列) PriorityQueue 翻译过来就是优先队列,本质是一个堆, 默认情况下堆顶每次都保留最小值,每插入一个元素,仍动态维护堆 ...

随机推荐

  1. Java复习3.变量.常量.String.

    Java 中的变量常量数据类型 20131004 前言: 还是国庆节,无聊的很,就没事复习点Java的知识,其实C/C++基本上是现在大型企业面试的语言,但是多学习点Java是没有坏处的,而且,将来工 ...

  2. 剑指offer--44.两个链表的第一个公共结点

    @selfboot 牛逼的代码,长度相同,一遍出结果, 长度不同,短的点跑完,变成长的,当长的跑完变成短的链表的时候,较长的链表已经走过了多的结点. ------------------------- ...

  3. ASP.NET后台怎么输出方法中间调试信息?

    后台方法,不止是aspx.cs,而是页面调用的一些其它方法.想调试这些方法,我以前winform都是MessageBox.Show一些中间结果,现在我也想用这种方式.但想想,网页会触发 Message ...

  4. Java Double 精度问题总结

    package Demo_1.Test_2; import java.math.BigDecimal; /** * @描述:Java Double 精度问题总结 * @详细描述:使用Java,doub ...

  5. ubuntu16 chrome install

    1,download chrome.deb from : https://www.google.com/chrome/index.html 2,double click chrome.deb and ...

  6. flowable ProcessEngine和ProcessEngineConfiguration

    ProcessEngine是流程引擎,ProcessEngineConfiguration与前面四个引擎配置有些不同. ProcessEngineConfiguration增加了邮件服务和httpCl ...

  7. 更换pip源,解决pip install安装包慢的问题

    而pip是很强大的Python包安装工具,但是由于国外官方pypi经常被墙,导致不可用,所以最好是将使用的pip源更换一下,这样就能解决被墙导致的装不上库的问题.网上有很多可用的源,例如豆瓣:http ...

  8. C# http post上传文件

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

  9. vue实现简单评分效果

  10. 【排序】冒泡排序,C++实现

    原创文章,转载请注明出处! 博客文章索引地址 博客文章中代码的github地址 # 基本思想(从小到大排序)       对于给定的n个元素,从第一个元素开始,依次对相邻的两个元素进行比较,当前面的记 ...