In questo esempio imparerai a calcolare la somma dei numeri naturali inseriti dall'utente.
Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione in C:
- C per Loop
- C while e do … while Loop
I numeri positivi 1, 2, 3 … sono noti come numeri naturali. La somma dei numeri naturali fino a 10 è:
somma = 1 + 2 + 3 +… + 10
Somma dei numeri naturali utilizzando per Loop
#include int main() ( int n, i, sum = 0; printf("Enter a positive integer: "); scanf("%d", &n); for (i = 1; i <= n; ++i) ( sum += i; ) printf("Sum = %d", sum); return 0; )
Il suddetto programma prende l'input dell'utente e lo memorizza nella variabile n. Quindi, for
loop viene utilizzato per calcolare la somma fino a n.
Somma dei numeri naturali utilizzando il ciclo while
#include int main() ( int n, i, sum = 0; printf("Enter a positive integer: "); scanf("%d", &n); i = 1; while (i <= n) ( sum += i; ++i; ) printf("Sum = %d", sum); return 0; )
Produzione
Immettere un numero intero positivo: 100 Somma = 5050
In entrambi i programmi, il ciclo viene ripetuto un numero di volte. E, in ogni iterazione, il valore di i viene aggiunto alla somma e i viene incrementato di 1
.
Sebbene entrambi i programmi siano tecnicamente corretti, for
in questo caso è meglio usare il loop. È perché il numero di iterazioni è noto.
I programmi di cui sopra non funzionano correttamente se l'utente immette un numero intero negativo. Ecco una piccola modifica al programma precedente in cui continuiamo a ricevere input dall'utente finché non viene inserito un numero intero positivo.
Leggere l'input fino a quando non viene immesso un numero intero positivo
#include int main() ( int n, i, sum = 0; do ( printf("Enter a positive integer: "); scanf("%d", &n); ) while (n <= 0); for (i = 1; i <= n; ++i) ( sum += i; ) printf("Sum = %d", sum); return 0; )
Visita questa pagina per scoprire come trovare la somma dei numeri naturali usando la ricorsione.