c语言输入输出优化

#include //为了使用isdigit宏
inline int readint() {
    char c = getchar();
    while(!isdigit(c)) c = getchar();
    int x = 0;
    while(isdigit(c)) {
        x = x * 10 + c - '0';
        c = getchar();
    }
    return x;
}
int buf[10];
inline void writeint(int i) {
    int p = 0;
    if(i == 0) p++;
    else while(i) {
        buf[p++] = i % 10;
        i /= 10;
    }
    for(int j = p-1; j >= 0; j--) putchar('0' + buf[j]);
}

当输入输出数据量很大时,应尽量用scanf和printf函数。如果时间效率还不够高,应逐字符输入输出,就像上面的readint和writeint函数。


你可能感兴趣的:(c++)