Bom, Gauss disse que a soma dos primeiros 100 números é 5050. Então obviamente há alguma coisa errada. De onde veio o valor “2” que você botou aí no seu programa?
Aff, pode crer, a variável n1 tem que receber 0, nóssa como eu sou loki hahahahaha.
valeu galera, eu acabei de testar aqui e funcionou, valeu mesmo, até mais.
Geralmente não faz sentido iniciar uma variavel que deva acumular valores com algo diferente de zero, afinal se vc não somou nada o total deveria ser 0.
Sem falar que o nome da variavel pode elucidar muita coisa, n1 não diz nada, vc precisa olhar o codigo e descobrir o que ele faz.
O que vc quer fazer eh:
[code]inicio = 1; // pode ser hard-coded ou
fim = 100; // vir via parametros, enfim.
total = 0; // o nosso acumulador
numero = inicio; // inicio
while(numero <= fim){ // condicao
total = total + numero; // acumulando…
numero = numero + 1; // incremento
}[/code]
O while pode ser transformado em um laço for, sem problemas, mas perceba que assim é facil de entender o procedimento de iteração de um numero para o outro e o procedimento de acumulação.
Se seguir estas ideias o seu codigo sera mais claro no seu propósito