快读快写教程

原文链接:https://uncleacc.github.io/

应用

一些题目需要读取的数据量十分庞大,很可能读取数据次数高达几十万次,而这时用cin或者scanf时间上就有了一些差距(scanf比cin要快),当输入数据更加庞大,scanf时间上也有些乏力,毕竟有些题目就是考你会不会快读快写,C语言输入输出字符时是要比数字输出的快的,我们可以利用这一点来把数字转化成字符来输出

下面的inline是内联函数的意思,小伙伴可以看 https://blog.csdn.net/hyqsong/article/details/51857833 了解一下

快读代码

inline int read(){
    int x=1,y=0;
    char ch=getchar();
    while(ch<'0'||ch>'9'){
        if(ch=='-') x=-1; ch=getchar(); //这里的循环是为了避免输入数字之前的空格造成影响
    }
    while(ch>='0'&&ch<='9'){
        y=y*10+ch-'0';
        ch=getchar();
    }
    return x*y;
}

需要注意的是每次循环最后都要加一句getchar()

快写代码

inline void write(int n){
    if(n<0) putchar('-'),n*=-1;
    if(n>9) write(n/10);
    putchar(n%10+'0');
}

代码比较好理解,注意puchar()里面的n%10

制作不易,谢谢您的观看

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的Doraemon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值