机试算法讲解: 第58题 输入外挂
2015-08-02 00:04
260 查看
/* 输入外挂:scanf快于 cin,在scanf基础上再次优化,使那些刚超时一点的程序能够卡金时限范围。 原理:在读入缓冲中字符的前提下,手动分析字符串中输入的整数、浮点数等我们需要的输入类型,并将其保存在变量中 */ #include <stdio.h> #include <stdlib.h> #include <string.h> //输入整数,并将整数保存在引用变量ret中 bool readint(int& ret) { int sgn;//符号 char c; c = getchar(); //如果到达文件末尾,返回false if(EOF==c) { return false; } //跳过不为整数的部分 while(c!='-' && c < '0' && c > '9') { c = getchar(); } sgn=(c=='-' ? -1:1);//若出现符号 ret=(c=='-' ? 0:(c-'0'));//若未出现符号 //计算连续几个字符组成数字的数值 while((c=getchar()) >= '0' && c<='9') { ret = ret*10 + (c-'0'); } ret *= sgn;//乘上符号位 return true;//读入 }
相关文章推荐
- 机试算法讲解: 第56题 多重背包之一起支援灾区
- 机试算法讲解: 第55题 完全背包之储蓄罐最少放了多少钱
- 基于双线性配对的密码学算法
- java下载网络文件代码
- WebMagic/JMX&爬虫监控
- Linux的SOCKET编程详解
- httpclient4.2.1 连接池
- 机试算法讲解: 第54题 0-1背包之如何采药
- PHP 7新特性介绍
- CentOS下将MySQL 5.1升级到MySQL 5.5的步骤
- Linux下编译安装Mysql 5.5的简单步骤
- MySQL 5.5.x my.cnf参数配置优化详解
- 程序员如何合理的管理时间碎片?
- 程序员年少成名,是一种什么样的体验
- mediawiki学习笔记(二)
- Linux
- Ubuntu 12.04 设置更新源
- Ubuntu 12.04 LTS 安装JDK
- Android自定义View
- Android SDK 无法更新的解决方法