找到单独行中两个数字的总和?

时间:2016-06-04 05:52:49

标签: c

因此SPOJ存在问题,如下所述:

  

给定两个自然数(均不大于200),每个数字在单独的行中,请打印它们的总和。

     
    

示例输入:

         

2

         

3     
    输出:5

  

所以我写了一个关于这个问题的程序。代码:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int input1, input2, sum;
    printf("Enter two natural numbers\n");
    scanf("%d", &input1);
    scanf("\n%d", &input2);
    if ((input1>0&&input1<=200) && (input2>0&&input2<=200))
    {
        sum = input1 + input2;
        printf("%d", sum);
    }
    return 0;
}

但是SPOJ拒绝这个答案是错误的答案。

后来我在idone检查了这个。

但是我无法检测到这个答案出了什么问题,正如预期的那样,它给出了上述问题给出的相同输出。 如果我错了,请纠正。

2 个答案:

答案 0 :(得分:1)

第一个印刷声明

printf("enter two natural numbers\n");

第二次

scanf("%d",&input1);//Press Enter

第三个

scanf("%d",&input2);//Press Enter

最后

printf("\n%d",sum);

答案 1 :(得分:0)

首先,删除printf语句,因为它不需要,并且会破坏SPOJ给出的预期I / O.

接下来,scanf中不需要换行符。您可以直接撰写scanf("%d %d", &input1, &input2);。另一种方法是将scanf语句两次写为:

scanf("%d", &input1);
scanf("%d", &input2);

最后,如果输入边界由SPOJ给出,您也可以删除if语句。