HDU 1000 A + B Problem
2016-05-09 19:16
288 查看
作为经典的ACM入门题,这应该是很多人入坑时做的第一道题,可以说,A+B问题对ACMer的意义相当于Hello World对于程序员的意义。很多题目很简单,但是有些人知道做法也不一定能AC,因此借这道题讲讲初学者可能遇到的种种问题。让我们先来看题。
Problem Description
Calculate A + B.
Input
Each line will contain two integers A and B. Process to end of file.
Output
For each case, output A + B in one line.
Sample Input
Sample Output
难度:1星
题目很简单,相信你可以轻易读懂。话不多说,先上代码:
在使用scanf进行输入的时候,变量前记得加上&符号,不然会出错。另外,代码中的
while(~scanf("%d%d",&a,&b))
表示是输入多组数据,直到输入结束为止,其功能相当于:
while(scanf("%d%d",&a,&b)!=EOF)
因此如下代码也是可以的:
这里特别说一点,很多初学者会认为要等输入结束才可以开始输出,其实不然。在Online Judge系统里,只要最终所有的输出部分拼起来后跟他的样例输出相同,那么代码就是正确的。至于你的结果是一次性输出的,还是断断续续输出的,是无关紧要的。所以,遇到一次性输出很困难的情况,完全可以输入部分就开始输出,然后再输入部分再输出。
另外,所谓的样例并不只有展示出来的sample input和sample output的那几条,事实上后台还存有很多隐藏的样例,用来检测你的代码是否存在漏洞,所以在提交代码前,你应该确认你已经考虑到所有的情况了。
Problem Description
Calculate A + B.
Input
Each line will contain two integers A and B. Process to end of file.
Output
For each case, output A + B in one line.
Sample Input
1 1
Sample Output
2
难度:1星
题目很简单,相信你可以轻易读懂。话不多说,先上代码:
#include <iostream> using namespace std; int main() { int a=0,b=0; while(cin>>a>>b) { cout<<a+b<<endl; } return 0; }
有一点你要注意,输入并不只有一组,因此在这里需要使用一个while循环。当有输入的时候,就输出对应的结果并换行,直到输入结束。所以输出结果后不要忘记换行,否则也是不能AC的。
另外,在使用cin和cout进行输入输出时,必须要引入iostream头文件和使用标准命名空间。
若是使用C语言的scanf和printf进行输入输出,引入cstdio头文件即可,代码如下:
#include <cstdio> int main() { int a=0,b=0; while(~scanf("%d%d",&a,&b)) { printf("%d\n",a+b); } return 0; }
在使用scanf进行输入的时候,变量前记得加上&符号,不然会出错。另外,代码中的
while(~scanf("%d%d",&a,&b))
表示是输入多组数据,直到输入结束为止,其功能相当于:
while(scanf("%d%d",&a,&b)!=EOF)
因此如下代码也是可以的:
#include <cstdio> int main() { int a=0,b=0; while(scanf("%d%d",&a,&b)!=EOF) { printf("%d\n",a+b); } return 0; }
这里特别说一点,很多初学者会认为要等输入结束才可以开始输出,其实不然。在Online Judge系统里,只要最终所有的输出部分拼起来后跟他的样例输出相同,那么代码就是正确的。至于你的结果是一次性输出的,还是断断续续输出的,是无关紧要的。所以,遇到一次性输出很困难的情况,完全可以输入部分就开始输出,然后再输入部分再输出。
另外,所谓的样例并不只有展示出来的sample input和sample output的那几条,事实上后台还存有很多隐藏的样例,用来检测你的代码是否存在漏洞,所以在提交代码前,你应该确认你已经考虑到所有的情况了。
相关文章推荐
- Oracle varchar2最大支持长度(转)
- 计算机程序的思维逻辑- 函数调用的基本原理
- IOS学习笔记——object-C基础 (一)
- 静态代码扫描——PMD自定义规则入门
- C++参数传递 和 java参数传递的异同
- 网站使用第三方登录--用新浪博客登录
- Android 中的消息模型(Message,MessageQueue,handle,looper,)
- hdu 1232 并查集
- Debian
- 第十、十一周阅读程序 继承和派生(1)
- JDK、JRE、JVM三者间的关系
- MySQL常用命令整理
- c#实现深浅拷贝
- 在 C/C++ 程序调用 Java 代码
- Jquery中动态的给元素绑定事件
- Tomcat绿色免安装配置及配置中遇到的问题的解决方案
- 【转】解决Fragment already active方法
- 蓝牙核心技术了解(蓝牙协议、架构、硬件和软件笔记)
- 第2章 面向对象的设计原则(SOLID):2_里氏替换原则(LSP)
- BZOJ2448 : 挖油