CloudLunar
主页
知识库
人文社科
自然科学
跨学科领域
热门分类
算法及题库
云璟月's
墨色集(设计)
指尖集(代码)
未央集(随笔)
流觞集(语录)
如花集(书影)
纸鸢集(小说)
登录
B站
微博
人人
开心
Twitter
Facebook
RSS订阅链接
留言板
关于我
在社交网站上关注我
B站
微博
人人
开心
Twitter
Facebook
RSS订阅
RSS订阅链接
留言板
关于我
查看HDU/1000的源代码
←
HDU/1000
因为以下原因,你没有权限编辑本页:
你刚才请求的操作只对属于该用户组的用户开放:
用户
您可以查看并复制此页面的源代码:
[[分类:整数处理]] ==摘要== {{信息题|A + B Problem|http://acm.hust.edu.cn/vjudge/contest/view.action?cid{{=}}68572#problem/A|1|100|输出格式|0|time=2015-02-06 10:26:13}} *来自寒假练习:[http://acm.hust.edu.cn/vjudge/contest/view.action?cid=68572 Only a signing tool !] A题 *原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1000 ==题意== 多行A+B。 ==题解== *本来A+B不想写题解……可是居然WA了那么多次。先不说第一眼没看到多行,后来WA的几次不能理解。照理说,对于不限制输入数据个数的,本来以为以下两种写法应该都Acceptable,但是只有最后交的一种能A,后来发现多少是有bug的。 ===第一种错误写法=== while(!cin.eof()) { int a,b; cin>>a>>b; cout<<a+b<<endl; } 有些情况的确是Acceptable的,但是有时候不行,原因似乎很复杂,大概是: 《C++ IO流及本地化》:“非单个字符的数据抽取:如果你不是按字符方式抽取,而是抽取一个整数或一个字符串或其他由多个字符组成的数据项,你就可能有超过输入序列结束符进行读操作的情况。 这是因为输入运算符要连续读入字符,直到遇到分隔符或遇到输入序列结束符为止。 假设输入序列是“...912749<eof>” 要抽取整数,那么抽取符将读入所有数字字符直到收到遇到输入序列结束符的信息。 然后抽取符停止操作并设置标志eofbit,因为,此时抽取符已经试图超过输入序列结束符进行读操作。” 也就是说如果最后一个数后面没有空白,读完最后一个数的同时,状态位就被设成EOF了。有回车的话就不会了<ref>http://poj.org/showmessage?message_id=48711</ref> ===第二种错误写法=== while(scanf("%d%d",&a,&b)) printf("%d\n",a+b); 这种应该改成 while(scanf("%d%d",&a,&b)>0) printf("%d\n",a+b); 原因是scanf文件末尾返回的是-1,以下为scanf的返回值<ref>http://www.douban.com/note/220299804/</ref>: 1) 正整数,表示正确输入参数的个数。例如执行 scanf("%d %d", &a, &b); 如果用户输入"3 4",可以正确输入,返回2(正确输入了两个变量); 如果用户输入"3,4",可以正确输入a,无法输入b,返回1(正确输入了一个变量)。 2) 0,表示用户的输入不匹配,无法正确输入任何值。如上例,用户如果输入",3 4",返回0。 3) EOF,这是在stdio.h里面定义的常量(通常值为-1),表示输入流已经结束。在Windows下,用户按下CTRL+Z(会看到一个^Z字符)再按下回车(可能需要重复2次),就表示输入结束;Linux/Unix下使用CTRL+D表示输入结束。 ==代码== {{折叠|1000.cpp代码已折叠 |<pre> #include<iostream> using namespace std; int main() { int a,b; while(cin>>a>>b) { cout<<a+b<<endl; } return 0; } </pre> |code1000}} ==参考资料和拓展阅读== <references/>
该页面使用的模板:
模板:=
(
查看源代码
)
模板:信息题
(
查看源代码
)
模板:折叠
(
查看源代码
)
返回
HDU/1000
。
著作权声明
[
编辑
]
除非另有说明,本
网站内容
采用
知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议
进行许可(中国大陆可以参照
知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议
,如有不同以前者为准)。
如果需要商业化使用,请另联系作者取得授权。
关于
[
编辑
]
联系
@云璟月Lunar
的新浪微博
本站RSS:
RSS链接