Come sommare i numeri positivi e negativi
In questo codice in linguaggio C l'utente digita dieci numeri interi. Il programma somma tra loro i numeri positivi e negativi in somme separate.
- #include <stdio.h>
- int main()
- {
- int n=0,c=0;
- int sommapositivi=0, sommanegativi=0;
- for(c=0;c<10;c++) {
- printf("Digita il %d numero: ", c+1);
- scanf("%d", &n);
- if(n>0)
- sommapositivi+=n;
- else
- sommanegativi+=n;
- }
- printf("La somma dei numeri positivi è %d \n", sommapositivi);
- printf("La somma dei numeri negativi è %d \n", sommanegativi);
- return 0;
- }
Come funziona
1] Inizializzazione
Nelle prime righe del programma ( righe 1-5) includo la libreria stdio.h per usare le funzioni printf() e scanf().
Dichiaro quattro variabili di tipo intero:
- La variabile n la uso per registrare l'ultimo numero digitato dall'utente
- La variabile c la uso per contare i numeri digitati dall'utente in data entry
- Le variabili sommapositivi e sommanegativi sono le variabili delle somme parziali dei numeri positivi e negativi digitati dall'utente. Sono inizializzate a zero.
2] Elaborazione
Il cuore del programma è un ciclo for (righe 6-13) con 10 iterazioni.
In ogni iterazione l'utente digita un numero intero mediante l'istruzione scanf() che lo assegna alla variabile n.
Nelle righe successive il programma controlla se è un numero positivo o negativo tramite una if (righe 9-12).
- Se il numero n è positivo (n>0) il programma lo somma alla variabile sommapositivi (sommapositivi++).
- Se il numero n non è positivo (n≤0) il programma lo somma alla variabile sommanegativi (sommanegativi++).
Esempio
Digita il 1 numero: -4
Digita il 2 numero: 1
Digita il 3 numero: 6
Digita il 4 numero: -3
Digita il 5 numero: -2
Digita il 6 numero: 1
Digita il 7 numero: 6
Digita il 8 numero: -3
Digita il 9 numero: -2
Digita il 10 numero: 1
3] Stampa risultato (output)
Al termine del ciclo il programma stampa a video le somme parziali tramite l'istruzione printf (righe 14-15).
La somma dei numeri positivi è 15
La somma dei numeri negativi è -14
E così via.