##############################################################################
#感谢1楼@ c__ssd、2楼@那一眸的指出。最终的代码虽然通过平台检测,
#但跟题目的要求还是不吻合
#这篇日志只是表达“本来以为很简单的东西,真正自己做的时候,却发现不那么简单”的中心思想。
#具体是实现代码?呵呵@#¥@@¥%
##############################################################################
平台是九度的OJ。1000
题目描述:
求整数a,b的和。
输入:
测试案例有多行,每行为a,b的值。
输出:
输出多行,对应a+b的结果。
样例输入:
1 2
4 5
6 9
样例输出:
3
9
15
=============================================================================================
战绩:
无话可说。。。。
印象中仅仅就是个计算两个数之和的问题。于是上来就是
#include <stdio.h>
int main()
{
int a,b,c;
c=a+b;
printf(“%d",c);
returun 0;
}
信心满满的提交了,无情的ERROR。竟然把单词拼错了。。
更正拼写错误,再次提交提交ERROR。呃,参照答案更改为
#include <stdio.h>
int main()
{
int a,b;
printf("%d",a+b);
returun 0;
}
主要是考虑这些少了个参数C,节省空间。提交依然ERROR。于是,再对比答案。发现应该有scanf,要不然程序到哪里读取数据呢?于是加上scanf,变成下面的样子
#include <stdio.h>
int main()
{
int a,b;
scanf("%d,%d",&a,&b);
printf("%d",a+b);
return 0;
}
又没通过:(
再次对比参考答案,发现还要对输入的数据判断是否到了结尾。刚看到的时候,我打算用if了。判断,if。参考答案中使用了while来判断是否结束。话说,我想到判断是否结束,也仅仅想到if,并未想到结束标志。看到了EOF,才发现原来是这个样子。另外,我又单独用EOF与eof试了试。eof无情的提示没通过,囧~~~
改成下面的样子,再次提交
#include <stdio.h>
int main()
{
int a,b;
while(scanf("%d,%d",&a,&b)!=EOF)
{
printf("%d",a+b);
}
return 0;
}提交后,还是没通过。再次对比参考答案。再看看原来的题目。这才注意到题目:
”
样例输入:
1 2
4 5
6 9
样例输出:
3
9
15
“
两个参数之间使用的空格。以前习惯了逗号。没仔细看。。。。。
再次修改。修改后如下:
#include <stdio.h>
int main()
{
int a,b;
while(scanf("%d %d",&a,&b)!=EOF)
{
printf("%d",a+b);
}
return 0;
}再次提交。终于看到那个期待以久的。。。。
===================================================感触===================================================================
以前总感觉编程很简单。敲敲代码,考虑考虑数据结构。然后就编译。出错就调试。
今天一个小小的a+b,竟然费了这么大劲。。。
考虑问题要全面,不能偏了。这道题中,开始仅仅考虑了输出。忘了输入了;
仔细检查,尤其是单词的拼写。
要看题,题中没有使用逗号分隔,不能用习惯;