首页 > 代码库 > 常用快速读入快速输出
常用快速读入快速输出
此文为博主原创,转载时请通知博主,并把原文链接放在正文醒目位置。
简要介绍
众所周知,就运行速度而言,getchar()快于scanf快于cin,putchar()快于printf快于cout.
但getchar()和putchar()每次只能操作一个字符,使用起来比较麻烦。
于是就出现了快读、快速输出。
它们的原理都是把需要读入\输出的数字(本文只能用于处理整数)一位一位地输出,从而减少运行时间。
代码
1 #include<cstdio> 2 using namespace std; 3 4 inline void read(int &x) 5 { 6 char ch = getchar(); 7 char c; 8 x = 0; 9 while(ch > ‘9‘ || ch < ‘0‘) 10 c = ch,ch = getchar();11 while(ch <= ‘9‘ && ch >= ‘0‘) 12 x = x*10 + ch-‘0‘,ch = getchar();13 if(c == ‘-‘) x = ~x + 1;14 }15 16 inline void put(int x)17 {//快速输出 18 if (x < 0)19 x = ~x + 1, putchar(‘-‘); 20 if (x > 9) 21 put(x / 10);putchar(x % 10 + ‘0‘);22 }23 24 int main()25 {26 int n;27 read(n);28 put(n);29 return 0;30 }
在实际应用时,可以把‘0‘写成48,‘9‘写成57,继续缩小所需时间。
常用快速读入快速输出
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。