Así que hay un problema en SPOJ como se menciona a continuación:
Dados dos números naturales (ambos no mayores de 200), cada número en la línea separada, imprima la sum de ellos.
Ejemplo de entrada:
2
3
Salida: 5
Así que escribí un progtwig para este problema. Código:
#include #include int main() { int input1, input2, sum; printf("Enter two natural numbers\n"); scanf("%d", &input1); scanf("\n%d", &input2); if ((input1>0&&input10&&input2<=200)) { sum = input1 + input2; printf("%d", sum); } return 0; }
Pero SPOJ rechazó esta respuesta como una respuesta incorrecta.
Más tarde lo comprobé en idone .
Pero no puedo detectar, lo que está mal con esta respuesta, como se esperaba, da el mismo resultado dado en la pregunta anterior. Por favor corrija si estoy equivocado.
La primera statement impresa
printf("enter two natural numbers\n");
El segundo
scanf("%d",&input1);//Press Enter
El tercero
scanf("%d",&input2);//Press Enter
Y finalmente
printf("\n%d",sum);
En primer lugar, elimine la statement printf, ya que no es necesaria y desordenará la E / S esperada según lo otorgado por SPOJ.
A continuación, no hay necesidad del carácter de nueva línea en scanf
. Puede escribir directamente scanf("%d %d", &input1, &input2);
. Otra forma sería escribir la instrucción scanf
dos veces como:
scanf("%d", &input1); scanf("%d", &input2);
Por último, también puede eliminar la instrucción if, si SPOJ proporciona límites de entrada.