【转载】输入输出优化代码

输入优化:

void read(int &x)
{
    int f=1;x=0;char s=getchar();
    while(s<'0'||s>'9'){if(s=='-')f=-1;s=getchar();}
    while(s>='0'&&s<='9'){x=x*10+s-'0';s=getchar();}
    x*=f;
}

用法示例:

int main()
{
    int n;
    read(n);
}

输入优化(全类型)

template<typename __Type_of_read>
void read(__Type_of_read &x)
{
    __Type_of_read f=1;x=0;char s=getchar();
    while(s<'0'||s>'9'){if(s=='-')f=-1;s=getchar();}
    while(s>='0'&&s<='9'){x=x*10+s-'0';s=getchar();}
    x*=f;
}

用法示例:

int main()
{
    int a;
    short b;
    long long c;
    read(a),read(b),read(c);
}

输出优化

void print(int x)
{
    if(x<0){putchar('-');x=-x;}
    if(x>9)print(x/10);
    putchar(x%10+'0');
}

用法示例:

int main()
{
    int n=14;
    print(n);
}

输出优化(全类型)

template<typename __Type_of_print>
void print(__Type_of_print x)
{
    if(x<0){putchar('-');x=-x;}
    if(x>9)print(x/10);
    putchar(x%10+'0');
}

用法示例:

int main()
{
    int a=1;
    short b=2;
    long long c=3;
    print(a),print(b),print(c);
}

猜你喜欢

转载自blog.csdn.net/Peter_Matthew/article/details/81158971