机试算法讲解: 第58题 输入外挂

来源:互联网 发布:php是后端还是前端 编辑:程序博客网 时间:2024/06/11 03:22
/*输入外挂:scanf快于 cin,在scanf基础上再次优化,使那些刚超时一点的程序能够卡金时限范围。          原理:在读入缓冲中字符的前提下,手动分析字符串中输入的整数、浮点数等我们需要的输入类型,并将其保存在变量中*/#include <stdio.h>#include <stdlib.h>#include <string.h>//输入整数,并将整数保存在引用变量ret中bool readint(int& ret){int sgn;//符号char c;c = getchar();//如果到达文件末尾,返回falseif(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;//读入}

0 0