什么是输入挂?

众所周知scanf比cin快的多,那么有没有比scanf更快的东西呢?答案就是输入挂,输入挂利用了告诉读取的函数getchar(),然后再人工处理成整数或浮点,比使用scanf快太多。

什么时候用输入挂?

当输入规模达到1×10^6次方的时候,就需要输入挂,否则很有可能超时。

代码

代码不是我写的,此处给出出处:http://www.cnblogs.com/xiaohongmao/archive/2012/05/29/2523760.html

整数

inline bool scan_d(int &num)
{
char in;bool IsN=false;
in=getchar();
if(in==EOF) return false;
while(in!='-'&&(in<''||in>'')) in=getchar();
if(in=='-'){ IsN=true;num=;}
else num=in-'';
while(in=getchar(),in>=''&&in<=''){
num*=,num+=in-'';
}
if(IsN) num=-num;
return true;
}

浮点

inline bool scan_lf(double &num)
{
char in;double Dec=0.1;
bool IsN=false,IsD=false;
in=getchar();
if(in==EOF) return false;
while(in!='-'&&in!='.'&&(in<''||in>''))
in=getchar();
if(in=='-'){IsN=true;num=;}
else if(in=='.'){IsD=true;num=;}
else num=in-'';
if(!IsD){
while(in=getchar(),in>=''&&in<=''){
num*=;num+=in-'';}
}
if(in!='.'){
if(IsN) num=-num;
return true;
}else{
while(in=getchar(),in>=''&&in<=''){
num+=Dec*(in-'');Dec*=0.1;
}
}
if(IsN) num=-num;
return true;
}

最新文章

  1. 最近碰到的一些 SSL 问题记录
  2. Podfile升级后的影响
  3. FZU 2171(线段树的延迟标记)
  4. hdu1880
  5. ArcGIS 读写lyr层文件
  6. java生成json字符串的方法
  7. The c programming language第一章节所有程序的实现
  8. MD5的加密和解密(总结)
  9. hdu 4620 Fruit Ninja Extreme(状压+dfs剪枝)
  10. zepto在操作dom的selected和checked属性时尽量使用prop方法
  11. JDK 源码分析(4)—— HashMap/LinkedHashMap/Hashtable
  12. CentOS安装Java JDK
  13. linux-centos使用 wget命令获取jdk
  14. lua脚本之lua语言简介以及lua的安装
  15. 【刷题】BZOJ 3667 Rabin-Miller算法
  16. Eclipse中导入Git项目
  17. scala当中的对象
  18. 《构建之法》6-7章读后感、问题及对Scrum的理解
  19. P1967 货车运输 树链剖分
  20. 洛谷P2571 [SCOI2010]传送带 [三分]

热门文章

  1. HDU 3032 Nim or not Nim?(Multi_SG,打表找规律)
  2. 线性回归 python小样例
  3. Nodejs-文件系统操作
  4. easyui-combogrid匹配查询
  5. IOS开发---菜鸟学习之路--(十八)-利用代理实现向上一级页面传递数据
  6. JavaWeb笔记(一)JDBC
  7. java面试需要准备什么呢?c++可以看看
  8. idea使用maven逆向mybitis的文件
  9. How to modify a compiled Android application (.apk file)
  10. HDU 4514 湫湫系列故事——设计风景线(并查集+树形DP)