C 讀入輸出優化 附模板(全)

2021-09-19 07:18:03 字數 2557 閱讀 9991

ios::sync_with_stdio(false);
注意:在使用後進行io操作時不能同時使用cin 與scanf。

另外可以進一步加快執行效率。

ios::sync_with_stdio(false);

cin.tie(0);

int read()

while(ch >= '0' && ch <= '9')

return x * w;

}

int write(int x)

if(x > 9)

write(x / 10);

putchar(x % 10 + '0');

}

inline void write1(int x)

while(x);

while(top)

putchar(sta[--top] + '0');

}

inline double dbread()

while(isdigit(ch))

ch = getchar();//讀入小數點

while(isdigit(ch))

return w ? -x : x;

}

不適用於字元

template inline t read()
如果要分別輸入int型別的變數 a ,long long型別的變數 b 和_int128型別的變數 c ,那麼可以寫成 

a=read();

b=read();

c=read<__int128>();

示例:

template inline int read()

另外附乙份比較全的模板

//fread高速讀入 如果用則全部都要用read不能再scanf或cin 測試需要重定向從檔案輸入資料(只能使用檔案讀入)

namespace fastio

//} return *p1++;

} inline bool blank(char ch)

inline void read(int &x)

inline void read(ll &x)

inline void read(double &x)

if (sign)x = -x;

} inline void read(char *s)

inline void read(char &c)

} //fwrite->write

//快速寫入

struct ostream_fwrite

void out(char ch)

*p1++ = ch;

} void print(int x)

void println(int x)

void print(ll x)

void println(ll x)

void print(double x, int y) ;

if (x < -1e-12)out('-'), x = -x; x *= mul[y];

ll x1 = (ll)floor(x); if (x - floor(x) >= 0.5)++x1;

ll x2 = x1 / mul[y], x3 = x1 - x2 * mul[y]; print(x2);

if (y > 0)

} void println(double x, int y)

void print(char *s)

void println(char *s)

void flush() }

~ostream_fwrite()

}ostream;

inline void print(int x)

inline void println(int x)

inline void print(char x)

inline void println(char x)

inline void print(ll x)

inline void println(ll x)

inline void print(double x, int y) //y為小數點後幾位

inline void println(double x, int y)

inline void print(char *s)

inline void println(char *s)

inline void println()

inline void flush() //清空

#undef ll

#undef out_size

#undef buf_size

};using namespace fastio;

讀入優化 輸出優化 C 詳解

讀入優化 輸出優化 c 詳解 本文主要介紹了c 讀入和輸出的一些性質和優化 希望對讀者有所幫助 大家對這個應該很熟悉了吧?想必最開始接觸 oi 的時候大家寫的輸入輸出就是用的這個吧。其實你做多了題目就會發現這個 cin 和 cout 是非常慢的,因為它從緩衝區中讀入資料。而這個緩衝常常是同步的,因為...

讀入輸出優化

1 void read int x 表示引用,也就是說x是乙個實參,在函式中改變了x的值就意味著在外面x的值也會被改變212 while s 0 s 9 是字元 一旦不是字元就意味著輸入結束了 1317 x f 改變正負 18 1 void print int x 這裡不用實參28 if x 9 只...

讀入優化 輸出優化

注意了注意了注意了,重要的事情說3遍,這個東西是騙分神器,騙分神器,騙分神器!眾所周知 scanf比cin快得多,printf比cout快得多,如果你不知道就 就現在知道了 那有沒有更快的呢?當然。請看 好吧,這就是讀入優化的效果,在資料很恐怖的情況下能比scanf多過1 5個點 比如說這種 都說了...