o Que Tem de Errado Nesse Exercício em C?

include <stdio.h>

#include <conio.h>

int main() {

int n1=0, soma=0;

printf("Digite a Tecla 0 Para cancelar:");

scanf("%d",n1);

while(n1>0){

soma+=n1;

printf("Digite a Tecla 0 Para cancelar:");

scanf("%d",n1);

if(n1<=0){

soma+=n1;}

printf("a Soma e:",soma);

}

getche();

return 0;

}

Comments

  • Olá, Fernando.

    O único erro aparente é o fato de você colocar a instrução "soma+=n1;" duas vezes no loop, o que acarreta na dobra do valor no acumulador. A solução de Max resolve o problema. Mas segue também uma dica para otimizar seu código...

    #include <stdio.h>

    #include <conio.h>

    int main() {

    int n1 = 1, soma = 0;

    while(n1 > 0){

    printf("Digite a Tecla 0 Para cancelar:");

    scanf("%d",&n1);

    soma += n1;

    }

    printf("\n\tA soma e: %d",soma);

    getch();

    return 0;

    }

    Boa Sorte

  • #include <stdio.h>

    #include <conio.h>

    int main() {

    int n1=0, soma=0;

    printf("Digite a Tecla 0 Para cancelar:");

    scanf("%d",&n1);

    while(n1>0){

    soma=soma+n1;

    printf("Digite a Tecla 0 Para cancelar:");

    scanf("%d",&n1);

    }

    printf("\n \ta Soma e: %d",soma);

    getch();

    return 0;

    }

Sign In or Register to comment.