音乐播放器
sola的小屋
 
文章 标签
17

Powered by Gridea | Theme: Fog
载入天数...
载入时分秒...
总访问量:  |   访问人数:

关于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。