C++ 读入优化与输出优化

C++ 读入优化与输出优化

正负整数的读入优化:

#include<cctype>
inline int read()
{
    int X=0,w=0; char ch=0;
    while(!isdigit(ch)) w|=ch=='-',ch=getchar();
    while(isdigit(ch)) X=(X<<3)+(X<<1)+(ch^48),ch=getchar();
    return w?-X:X;
}

•isdigit(x) isdigit(x) 表示 x x 是否是 0 ~ 9 的整数 ,是则返回 true true ,不是则是 false false 。
•注意要用 cctype cctype 头文件。

正负实数的读入优化

inline double dbread()
{
    double X=0,Y=1.0; int w=0; char ch=0;
    while(!isdigit(ch)) w|=ch=='-',ch=getchar();
    while(isdigit(ch)) X=X*10+(ch^48),ch=getchar();
    ch=getchar();//读入小数点
    while(isdigit(ch)) X+=(Y/=10)*(ch^48),ch=getchar();
    return w?-X:X;
}

正负整数的输出优化:

void write(int x){
    int y=10,len=1;
    while(y<=x) y*=10,len++;
    while(len--){y/=10,putchar(x/y+48),x%=y;
}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hjf1201/article/details/79951105
上一篇数列分块入门1 – 9 by hzwer
下一篇关于2-sat的建图方法及解决方案
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭