输入输出
一、cin/cout
与 scanf/printf
🧀
-
scanf
、printf
需要使用格式符号%d
、%f
、%c
等,用起来不如cin
、cout
简便,所以大多数情况下选用cin/cout
。 -
cout
在控制小数位输出时很麻烦,不如用printf
简单。
二、速度对比🧀
一般情况:scanf/printf
比cin/cout
快4倍左右
-
输入\(10^4\)个数,
scanf
约需要0.05s,cin
约需要0.15s。 -
输入\(10^5\)个数,
scanf
约需要0.1s,cin
约需要0.6s。
Tip
cout<<endl
很慢,改为cout<<“\n”
三、cin/cout
优化🧀
代码中加入下面两行,可以提升cin
、cout
的效率。
此时cin
、cout
和scanf
、printf
一样快,甚至更快。
Tip
-
输入输出数据量小,在1000个以内:可以混用
cin/scanf
、cout/printf
,用哪个方便就用哪个。 -
输入输出数据量大:为避免超时,使用
scanf/printf
,或者使用加了ios::sync_with_stdio(false); cin.tie(0)
的cin/cout
。