输入输出挂

http://blog.csdn.net/shahdza/article/details/6317011

inline void in(int &ret){
    char c; ret=0;
    while(c=getchar(),c<'0'||c>'9');
    while(c>='0'&&c<='9') ret=ret*10+(c-'0'),c=getchar();
}
inline bool in(int &ret){
    char c; int sgn;
    while(c=getchar(),c!='-'&&(c<'0'||c>'9')) if(c==EOF) return 0;
    sgn=(c=='-')?-1:1; ret=(c=='-')?0:(c-'0');
    while(c=getchar(),c>='0'&&c<='9') ret=ret*10+(c-'0');
    ret*=sgn;
    return 1;
}
inline bool in(double &ret){
    char c; int sgn; double bit=0.1;
    while(c=getchar(),(c<'0'||c>'9')&&c!='-'&&c!='.') if(c==EOF) return 0;
    sgn=(c=='-')?-1:1; ret=(c=='-')?0:(c-'0');
    while(c=getchar(),c>='0'&&c<='9') ret=ret*10+(c-'0');
    if(c!='.'){ ret*=sgn; return 1; }
    while(c=getchar(),c>='0'&&c<='9') ret+=(c-'0')*bit,bit/=10;
    ret*=sgn;
    return 1;
}
void out(int x){
    if(x<0){
        putchar('-'); out(-x);
        return;
    }
    if(x>9) out(x/10);
    putchar(x%10+'0');
}
原文地址:https://www.cnblogs.com/WABoss/p/4850763.html