Skip to content

输入输出


1、cin/coutscanf/printf📌

  • scanfprintf需要使用格式符号%d%f%c等,用起来不如cincout简便,所以大多数情况下选用cin/cout

  • cout在控制小数位输出时很麻烦,不如用printf简单。

2、速度对比📌

一般情况:scanf/printfcin/cout快4倍左右

  • 输入\(10^4\)个数,scanf约需要0.05s,cin约需要0.15s。

  • 输入\(10^5\)个数,scanf约需要0.1s,cin约需要0.6s。

Tip

cout<<endl很慢,改为cout<<“\n”

3、cin/cout优化📌

代码中加入下面两行,可以提升cincout的效率。

ios::sync_with_stdio(false);     //设置为异步
cin.tie(0);                      //解除cin和cout的绑定

此时cincoutscanfprintf一样快,甚至更快。

Tip

输入输出数据量小,在1000个以内:可以混用cin/scanfcout/printf,用哪个方便就用哪个。

输入输出数据量大:为避免超时,使用scanf/printf,或者使用加了ios::sync_with_stdio(false); cin.tie(0)cin/cout