这是一个编程菜鸟入坑ACM的第一篇博文(也方便自己以后编程的参考,太久没练习很多基础的都忘记了),文中有许多待完善处,还请诸位大神见笑和指出。
(补充:我的编译器是Dev C++ 5.11 ,提交的练习网站是杭电的Online Judge,刚开始像只无头苍蝇一样胡乱探索,大体问了一下身边的大佬,然后每遇到一个问题都搜一下,慢慢积累也学到了很多。)
【题目要求】Problem 1000:A+B Problem(ACM中提交的程序会受到许多条条框框的限制,因而细审题目的每一项要求是accepted的一个关键点)
- ACM提交的程序必须在规定的时间、内存范围内。该类错误一般为循环无终止导致的超时、算法结构或者逻辑出现问题等。submission这行是该题目的提交情况统计。
- 接下来是题目的正文:
第一框题目描述:计算A+B;
第二框输入要求:每个输入行包括两个整数A,B,一直读取输入直到文件结束。(注:这里的文件是OJ网站中的测试文件,当你提交程序后,OJ运行你的程序,并将测试文件中的数据按行输入到程序中进行测试)————这里的注释是我个人的理解。此外,程序必须不断读入,直到文件结束,因此,这道题需要用到循环语句,这里我用的是while循环;还有一个注意点:判断文件输入是否结束,就是判断输入是否结束,在ACM中不用null,而是用EOF来判断。)
第三框输出要求: 每输入一行,则单独用一行输出A+B的结果。(注意:程序的输出必须单独为一行!!!这里,我用的是C,因此在printf语句最后必须有 \n 符。一般来说,ACM提交的程序输出都要注意加\n符,否则很容易报错。)
第四框是输入的样本;第五框是输出样本。
仔细看完以上要求后就可以开始在自己的编译器上写程序了。以下是我的程序:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int a,b;
while(scanf("%d%d",&a,&b)!=EOF){
printf("%d\n",a+b);
}
return 0;
}
在编译器上运行成功后,提交结果:
虽然程序也不算多好,但第一个accepted,还是很开心啦嘻嘻~