输入输出外挂

其实输入输出外挂其实就是减少程序输入输出的时间, 因为常用的printf, scanf都要比cin, cout快,但是,有时候不用这个外挂的输出方式也会超时。而且这种输出方式对于大量数据的时候明显减少时间,其实它的快主要是因为 scanf和printf都是对缓冲区的读写操作,当程序执行的时候不会时间把要输出的内容输出到键盘上,或者说是从键盘读入的数据不会直接读到程序里,而是先读到一个叫做缓冲区的东西里面,这就大大降低了速度了,而putchar和getchar因为一次只能输出一个字符,所以它可以直接输出,所以它输出的很快,下面这段程序其实就是将本来要读取的内容拆成一个一个的字符进行读取或者输出,下面是代码的实现:

 1 #include <stdio.h>
 2 //注: 此外挂之适合数字的输入输出 
 3 //输入外挂 
 4 int in()
 5 {
 6     char ch;
 7     int res = 0, flag = 0;
 8     if((ch = getchar()) == '-')
 9         flag = 1;
10     else if(ch >= '0' && ch <= '9')
11         res = ch -'0';
12     while ((ch = getchar()) && ch >= '0' && ch <= '9')
13         res = res * 10 + ch - '0';
14     return flag ? -res : res;
15 }
16 //输出外挂 
17 void out(int n)
18 {
19     if(n > 9)
20         out(n / 10);
21     putchar(n % 10 + '0');
22 }
23 int main()
24 {
25     int n = in();
26     if(n < 0)
27     {
28         printf("-");
29         out(-n);
30     }
31     n = n * n;
32     out(n);
33     //这里\a为发出警告声音 
34     printf("\a"); 
35     return 0;
36 }

 

转载于:https://www.cnblogs.com/Howe-Young/p/4057975.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值