come posso fare un programma k sommi gli interi da 2 a 30?
codice:#include<stdio.h> int main () { int num; int tot; int pari; for (num=2;num<=30;num++){ ???????? :cry: ?????????? tot = tot + pari;} printf("La somma è %d", pari) return 0; }
come posso fare un programma k sommi gli interi da 2 a 30?
codice:#include<stdio.h> int main () { int num; int tot; int pari; for (num=2;num<=30;num++){ ???????? :cry: ?????????? tot = tot + pari;} printf("La somma è %d", pari) return 0; }
invece di incrementare num di uno lo incrementi di due.
Al totale gli aggiungi num (tot+=num) e poi restituisci il totale.
#include<stdio.h>
int main ()
{
int num;
int tot;
for (num=2;num<=30;num+=2){
tot+=num;}
printf("la somma è %d", tot);
return 0;
}
mi esce 1462!!!!!!!!
Scusate una domanda perchè forse non ho capito cosa deve fare il programma...da quanto c'è scritto sopra sembra una semplice somma dei numero da 2 a 30 che si farebbe così:
Se la cosa è diversa allora non ho capito qual è l'obiettivo!codice:#include<stdio.h> int main () { int num; int tot; for (num=2;num<=30;num++){ tot = tot + num;} printf("La somma è %d", tot) return 0; }
Ciao.
Originariamente inviato da Matteo982
Scusate una domanda perchè forse non ho capito cosa deve fare il programma...da quanto c'è scritto sopra sembra una semplice somma dei numero da 2 a 30 che si farebbe così:
Se la cosa è diversa allora non ho capito qual è l'obiettivo!codice:#include<stdio.h> int main () { int num; int tot; for (num=2;num<=30;num++){ tot = tot + num;} printf("La somma è %d", tot) return 0; }
Ciao.
deve sommare gli interi pari da 2 a 30
ah ok ora ci sono...prova così:
Ciao.codice:#include<stdio.h> int main () { int num; int tot; for (num=2;num<=30;num++){ if (num % 2 == 0) { tot = tot + num; } } printf("La somma è %d", tot) return 0; }
1462!!!!deve uscire 240!!
in C non è come in VB, le variabili devi inizializzarle te.
Quindi imposta Tot=0 in partenza, altrimenti non parte da 0, ma da un valore "casuale", cioè che dipende da vari fattori del disco, ma che tu non puoi sapere a priori
Ecco appunto mi sembrava che il programma fosse giusto...pensavo sapessi che bisognava inizializzare a 0 la variabile quindi mi sono concentrato sul centro del for...
La prossima volta scriverò tutto che è meglio!
L'importante è arrivare alla soluzione...
Ciao.
Si però non è veroOriginariamente inviato da Luciano79
in C non è come in VB, le variabili devi inizializzarle te.
Quindi imposta Tot=0 in partenza, altrimenti non parte da 0, ma da un valore "casuale", cioè che dipende da vari fattori del disco, ma che tu non puoi sapere a priori
Il codice postato da metto982 funziona perfettamente, anche senza dichiarare il valore di tot; tant'è che se fai
Ottieni come output:codice:int main () { int num; int tot; printf("per la cronaca, tot non inizializzato vale %d\n", tot); for (num=2;num<=30;num++){ if (num % 2 == 0) { tot = tot + num; } } printf("La somma è %d\n", tot); return 0; } }
./a.out
per la cronaca, tot vale 0
La somma è 240