zoukankan      html  css  js  c++  java
  • 读入优化(快读)

    P.S.

    其实还有输出优化,就是把数字的每一位依次输出。

    ------------------------------------------------------------------

    getchar()读入速度比scanf()快

    可以根据实际情况设置读入方式,第一个while里的内容可以根据空格和换行符进行修改。

    x*10 : (x<<3)+(x<<1)

    正数和负数都可以:

    #include <bits/stdc++.h>
    
    inline void read(int &x)
    {
        bool f=0;
        char ch=getchar();
        while (ch<'0' || ch>'9')
            f|=ch=='-',ch=getchar();
        x=0;
        while (ch>='0' && ch<='9')
            x=x*10+ch-'0',ch=getchar();
        if (f)
            x=-x;
    }
    
    int main()
    {
        int x;
        read(x);
        printf("%d",x);
        return 0;
    }

    只有正数:

     1 #include <bits/stdc++.h>
     2 
     3 inline void read(int &x)
     4 {
     5     x=0;
     6     char ch=getchar();
     7     while (ch<'0' || ch>'9')
     8         ch=getchar();
     9     while (ch>='0' && ch<='9')
    10         x=x*10+ch-'0',ch=getchar();
    11 }
    12 
    13 int main()
    14 {
    15     int x;
    16     read(x);
    17     printf("%d",x);
    18     return 0;
    19 }
  • 相关阅读:
    第十二周作业
    2019春总结作业
    第一次实验总结
    第二次实验总结
    第十二周
    第十一周作业
    第九周作业
    第八周作业
    第七周作业
    第六周作业
  • 原文地址:https://www.cnblogs.com/cmyg/p/9554970.html
Copyright © 2011-2022 走看看