九度Online Judge测试题
看到这题的第一反应,我要怎么连续输入三行?
貌似是回车之后就读入了,接着就输出了。
试了几次\n啊,调整while位置啊,都报错,果然我还是基础不扎实吧。
后来索性按照正常的写,结果既然通过了。
说明这个题描述的实在不咋地啊。。。
#include<stdio.h> void main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) { printf("%d\n",a+b); } return 0; }
初学者应该对EOF不熟悉,介绍一下。
EOF是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。 EOF不是特殊字符,而是一个定义在头文件stdio.h的常量,一般等于-1。 #define EOF (-1) 除了表示文件结尾,EOF还可以表示标准输入的结尾。但是,标准输入与文件不一样,无法事先知道输入的长度,必须手动输入一个字符,表示到达EOF。
然后是c++版本的
#include<iostream> using namespace std; int main() { int a,b; while(cin>>a>>b) cout<<a+b<<endl; return 0; } c++版占用的内存比c版的大一些
