阅
关于scanf/printf及cin/cout在刷题时的选择
输入与输出问题
最近在准备刷题的时候,才突然意识到关于输入和输出的一些小问题。
大部分刷题网站、OJ和测试都是支持C和C++的,而且一般对C和C++的支持相比于其他计算机语言要更加的完备。而C++又兼容大部分C语言的语法,所以一般都是编写C++代码文件,但这个时候关于输入和输出用什么方式的选择就成为了一个问题:是用scanf/printf呢?还是cin/cout呢?
关于scanf/printf和cin/cout两者的基本用法
scanf/printf
格式化输入、输出,通过格式控制符来控制输入输出的样式:
#include<cstdio>
int main(void)
{
int a,b;
scanf("%d%d",&a,&b);
printf("a=%d,b=%d\n",a,b);
return 0;
}
输入:
1 2
输出:
a=1,b=2
cin/cout
通过流来输入、输出数据:
流读取运算符>>和cin一起使用,可以输入数据。
流插入运算符<<和cout一起使用,可以输出数据。
两者比较
由于cin和cout可以不指定输入输出格式,所以相比而言比scanf和printf方便,但是cin和cout消耗的时间比scanf和printf要多很多,在很多对时间有要求题目中,可能输入还没结束就已经超时了。
另外需要注意的是,为了避免不必要的麻烦,在一个程序中最好不要同时使用cout和printf。
赏