zoukankan      html  css  js  c++  java
  • 输入挂

    今天起决定总结自己做题写出来的遇到的找到的各种模板,先从输入挂开始啦

    有的题目需要大规模输入,很多情况用cin超时,用scanf就能过,因为scanf的速度远远快于cin。但是比scanf还要nb的输入是getchar(),这个读入速度极快,输入挂就是基于这点写的。

    整数

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

    实数

    View Code
    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<'0'||in>'9'))
                    in=getchar();
            if(in=='-'){IsN=true;num=0;}
            else if(in=='.'){IsD=true;num=0;}
            else num=in-'0';
            if(!IsD){
                    while(in=getchar(),in>='0'&&in<='9'){
                            num*=10;num+=in-'0';}
            }
            if(in!='.'){
                    if(IsN) num=-num;
                    return true;
            }else{
                    while(in=getchar(),in>='0'&&in<='9'){
                            num+=Dec*(in-'0');Dec*=0.1;
                    }
            }
            if(IsN) num=-num;
            return true;
    }
  • 相关阅读:
    问题账户需求分析
    2017年秋季个人阅读计划
    阅读笔记01
    个人总结
    第二阶段站立会议07
    第二阶段站立会议06
    第二阶段站立会议05
    第二阶段站立会议04
    第二阶段站立会议03
    学习进度条(第十五周)
  • 原文地址:https://www.cnblogs.com/xiaohongmao/p/2523760.html
Copyright © 2011-2022 走看看