首页 > 其他 > 详细

快速输入输出

时间:2016-06-11 20:01:11      阅读:195      评论:0      收藏:0      [点我收藏+]

cin和cout慢啊!!!

cin和cout慢啊!!!

cin和cout慢啊!!!

有些题用cin和cout输入了/输出了很多数字后就TLE了。。。

scanf和printf相比来说快点,不过也不算太快。

怎么样才能达到更快的输入输出速度呢?

答案是字符法。

void qin(int &x){//快速输入qin(quick in)
    int base=1,num;
    char c=getchar();
    while(!(c==-||c>=0&&c<=9||c==EOF))c=getchar();
    if(c==EOF)exit(0);
    if(c==-)base=-1,c=getchar();//如果先输入了个‘-’那么就是个负数
    num=c-0;
    c=getchar();
    while(c>=0&&c<=9){//n进制转十进制标准方法。。。不过是十进制转十进制
        num*=10;
        num+=c-0;
        c=getchar();
    }
    x=num*base;
}
char integ[50];
void qout(int x){//快速输出qout(quick outif(x<0)putchar(-),x=-x;//保证后面操作用的数字非负数,不然就会变成符号了
    int len=0;
    do{
        integ[len++]=x%10+0;
        x/=10;
    }while(x);

    while(len--){
        putchar(integ[len]);
    }
}

 

快速输入输出

原文:http://www.cnblogs.com/kevinluo/p/5575793.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!