scanf和cin的差异

引例:http://www.cnblogs.com/shenben/p/5516996.html

大家都知道,在C++中有两种输入、输出方式—scanf和cin,但是,它们之间存在的差异,你们知道么?下面请看测评吧!
 
测试题目:
输入n个数,输出n个数。
 
测试环境:
ubuntu12.04 i3CPU
4G内存 7200转硬盘

测试结果:
测试结果使用linux的time测试时间,结果如下:
 
10000组数据时:
real代表程序执行总时间,user代表用户输入数据的时间,sys代表系统时间
从上面的测试结果中,貌似没有发现scanf的厉害之处甚至好像还慢些(数据存在波动性),那我们接着往下看:
 
100000组数据时:
这时scanf已经开始崭露头角了,不过差异还不是很大,咱们接着往下看!
 
1000000组数据时:
 
这时候大家可以发现,cin所用的时间是scanf的两倍还多!!
后面就不继续往下测的,对这个感兴趣或者想自己验证的童鞋可以继续。。。。不过据说scanf的输入速度是cin的3倍多!!
 
测试总结:
从以上测试结果,大家可以发现scanf和cin的巨大差异了吧!那么,这个东西最主要在哪应用呢?不用说都能想到,当然是ACM平台啦!那些算法没问题时间超限的童鞋,你们说不定就是因为用了cin导致的呢!

 
再大的数据范围就要
#include<cstdio>
#include<iostream>
using namespace std;
#define ll long long//自定数据范围
inline ll read(){
register ll f=,x=;
register char ch=getchar();
while(ch>''||ch<''){if(ch=='-') f=-;ch=getchar();}
while(ch>=''&&ch<='') {x=x*+ch-'';ch=getchar();}
return x*f;
}
int main()
{
ll n=read();
printf("%lld\n",n);
return ;
}

更快的我还没学会。。。

scanf和cin的差异的更多相关文章

  1. 关于scanf与cin哪个快的问题

    一开始入c++的时候成天跑cin,cout 直到有一天用cin,cout超时 才知道scanf比cin快的多 但是后来又听说加了ios::sync_with_stdio(false);的cin跟飞一样 ...

  2. mac 下 sublime text 运行c++/c 不能使用scanf/cin

    { "cmd": ["g++", "${file}", "-o", "${file_path}/${file_ ...

  3. scanf 和cin 的区别

    笔试的时候经常遇到突然string s;cin>>s; 有的时候编译会错误,不知道为什么. 今天在练习枚举类型的时候,也遇到这样一个问题. enum weekday{Monday,Tues ...

  4. scanf 与 cin 的区别

    在论坛上看到有人提出一个如下的问题,在此总结一下. 原问题: http://topic.csdn.net/u/20110414/22/90d0606c-9876-48e4-9b69-bd8bd8a41 ...

  5. cin 和scanf,scanf比cin快很多

    //#include <iostream> #include <stdio.h> //#include <fstream> //using namespace st ...

  6. 关于scanf 与 cin gets(),getline()......输入输出字符串的区别

    很对人对于字符串的输入输出一直是比较模糊的,今天总结一下几个常用的输入流符号对于输入字符串时的区别: 1.scanf(),首先 它遇到空格或回车键(\n)就会结束,并且会将回车符算入字符串中: 2.c ...

  7. scanf和cin性能的比较

    我的实验机器配置是: 处理器:Intel(R) Core(TM) i3-7100U CPU @ 2.40GHz 2.40GHz 随机访问存储器:4.00GB 操作系统:Windows10 集成开发环境 ...

  8. getchar(),scanf(),gets(),cin,输入字符串

    #include<iostream>#include<stdio.h>#include<string.h>#include<string>using n ...

  9. 对于scanf和cin的输入输出速度的验证

    本文为https://www.byvoid.com/zhs/blog/fast-readfile的验证性文章 --------------------------------------------- ...

随机推荐

  1. SHAREPOINT 工作流审批权限问题

    继续我们上次的工作流,我们发现所有人都有审批权限,这和我们正常的逻辑相反,正常应该是只有审批人才有权限,其它人只能查看,如下 这样解决,同样为SpecialPermissions 绑定到新成员 > ...

  2. SharePoint 门户添加内网域名

    原理:在DNS服务器上,添加一条SharePoint门户所在主机的别名,当我们在浏览器里访问这个别名的时候,会自动到Dns去解析,解析出来这台主机,从而访问到我们的SharePoint门户. 1.打开 ...

  3. 2015年第8本(英文第7本):the city of ember 微光城市

    书名:the City of Ember(中文名:微光城市) 作者:Jeanne DuPrau 单词数:6.2万 不重复单词数:未知 首万词不重复单词数:未知 蓝思值:未知 阅读时间:2015年4月2 ...

  4. 关于Eclipse 和 IDEA 导入library库文件 的步骤

    这里我们以PullToRefresh(上拉刷新下拉加载)组件的library为例 下载地址: https://github.com/chrisbanes/Android-PullToRefresh 现 ...

  5. C迷途指针

    在计算机编程领域中,迷途指针,或称悬空指针.野指针,指的是不指向任何合法的对象的指针. 当所指向的对象被释放或者收回,但是对该指针没有作任何的修改,以至于该指针仍旧指向已经回收的内存地址,此情况下该指 ...

  6. Effective Java 05 Avoid creating unnecessary objects

    String s = new String("stringette"); // Don't do this. This will create an object each tim ...

  7. Bootstrap 类解析

    Bootstrap 类解析 元素 Bootstrap 类 定义 <div> container 内容容器 <table> table 表格 <table> tabl ...

  8. ERP产品价格成本计算的几个方法(转)

          一般财务计算产品价格又很多方法,我这里做了几个供参考,实体属性主要是编号.数量.价格等,这里就不列出了. /// <summary> /// 先进先出算法 /// </s ...

  9. 使用Sqoop,最终导入到hive中的数据和原数据库中数据不一致解决办法

            Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL , ...

  10. c++基础回顾

    #include <iostream> #include <vector> #include <string> int main(int argc, const c ...