資訊競賽中加快程式的輸入輸出速度

2021-08-20 18:21:18 字數 1572 閱讀 3570

輸入輸出加速,就是用一位一位的讀取或輸出的方法達到加速的效果。

下面介紹對整數的輸入輸出加速:

輸入:

輸入正數:(要包含cctype庫)

void scan(int &sca)
輸入可正可負數:

void scan(int &sca)

else ch=getchar();

} sca=0;

while(isdigit(ch)) sca=sca*10+ch-'0',ch=getchar();

if(flag) sca=-sca;

}

輸出:

輸出正數(包括0):

int out[15];//宣告為全域性變數,更快一些

void print(int pnt)

else while(pnt)

for(int j=p-1;j>=0;j--) putchar('0'+out[j]);

}

輸出正負數皆可:

int out[15];

void print(int pnt)

else while(pnt)

for(int j=p-1;j>=0;j--) putchar('0'+out[j]);

}

char in_c;

templatevoid scan(t &in_n)

char out_c[25];

int sz_out_c;

templatevoid print(t out_n)

輸入輸出測試(因電腦不同,速度也會不同)平均速度:

scanf:

輸入1-10000:        0.011s

輸入1-100000:        0.07s

輸入:1-1000000:    0.75s

scan(正數版):

1-100000:        0.04s

1-1000000:        0.25s

printf:

輸出1-100000:     0.25s

輸出1-1000000:   2.4s

print(正數版):

輸出1-100000:    0.04s

輸出1-1000000: 0.25s

程式競賽輸入輸出部分(標準的輸入和輸出)

freopen c out.txt r stdin 輸入freopen out.txt w stdout 輸出 也可以在程式執行時臨時修改 abc.exe.txt abc.exe out.txt 程式競賽題目的特點 只做三件事 1 讀入資料。2 計算結果。3 列印輸出。提示 競賽中,輸入輸出不要列印...

演算法競賽中的輸入輸出框架

include define inf 10000000 輸入一些整數,求出它們的最小值 最大值和平均值 保留3位小數 輸入保證這些 數都是不超過1000的整數。標準輸入輸出 int main if x max n printf d d 3f n min max,double s n return 0...

學習筆記 競賽中的輸入輸出問題

一 輸入一些整數,求出他們的最小值,最大值和平均值 樣例輸入 2 8 3 5 1 7 3 6 樣例輸出 1 8 4.375 程式一 include include using namespace std intmain printf d d 3f n min,max,double s n retur...