Manugal
04-09-2005, 20:25
Ciao a tutti!!!
Un esercizio del mio libro mi chiede di scrivere un programma che legga un valore intero n e sommi gli interi da n a 2*n se n>=0, e da 2*n a n altrimenti. Dice di farlo prima solo con cicli for e poi solo con cicli while. Io con i cicli for ho fatto così:
#include <stdio.h>
int main(void){
int n,i,sum_neg=0,sum_pos=0;
printf("Insert n: ");
scanf("%d", &n);
if(n>=0)
for(i=n; i>2*n; i++)
sum_pos+=i;
else
for(i=2*n; i>n; i--)
sum_neg+=i;
printf("Sum pos = %d\n", sum_pos);
printf("Sum neg = %d\n", sum_neg);
return 0;
}
L'output è che qualsiasi numero metta mi da sempre zero. Non riesco a capire perché.... :confused:
Un esercizio del mio libro mi chiede di scrivere un programma che legga un valore intero n e sommi gli interi da n a 2*n se n>=0, e da 2*n a n altrimenti. Dice di farlo prima solo con cicli for e poi solo con cicli while. Io con i cicli for ho fatto così:
#include <stdio.h>
int main(void){
int n,i,sum_neg=0,sum_pos=0;
printf("Insert n: ");
scanf("%d", &n);
if(n>=0)
for(i=n; i>2*n; i++)
sum_pos+=i;
else
for(i=2*n; i>n; i--)
sum_neg+=i;
printf("Sum pos = %d\n", sum_pos);
printf("Sum neg = %d\n", sum_neg);
return 0;
}
L'output è che qualsiasi numero metta mi da sempre zero. Non riesco a capire perché.... :confused: