需要输入输出大量数据的时候,scanf和printf是非常耗时的操作。然而,getchar() putchar()是非常迅速的。所以我们可以用外挂改造一下IO
/* 仅适合纯数字输入输出 */
#include <cstdio>
int Scan() { //输入外挂
int res = 0, flag = 0;
char ch;
if((ch = getchar()) == '-') flag = 1;
else if(ch >= '0' && ch <= '9') res = ch - '0';
while((ch = getchar()) >= '0' && ch <= '9')
res = res * 10 + (ch - '0');
return flag ? -res : res;
}
void Out(int a) { //输出外挂
if(a < 0) { putchar('-'); a = -a; }
if(a >= 10) Out(a / 10);
putchar(a % 10 + '0');
}
int main() {
int T, n;
scanf("%d", &T);
while(T--) {
n = Scan();
Out(n);
printf("\n");
}
return 0;
}
本文介绍了一种使用C++进行输入输出操作的优化方法,通过getchar()和putchar()替代传统的scanf()和printf()来提升程序处理大量数据时的速度。文章提供了具体的实现代码,并展示了如何读取和输出整数。
3973

被折叠的 条评论
为什么被折叠?



