码迷,mamicode.com
首页 > 其他好文 > 详细

快速输入输出

时间:2016-06-11 20:01:46      阅读:256      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!