In dit voorbeeld leert u de som te berekenen van natuurlijke getallen die door de gebruiker zijn ingevoerd.
Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende C-programmeeronderwerpen:
- C voor Loop
- C while en do… while Loop
De positieve getallen 1, 2, 3… staan bekend als natuurlijke getallen. De som van natuurlijke getallen tot 10 is:
som = 1 + 2 + 3 +… + 10
Som van natuurlijke getallen die voor lus gebruiken
#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; )
Het bovenstaande programma neemt input van de gebruiker en slaat deze op in de variabele n. Vervolgens wordt de for
lus gebruikt om de som tot n te berekenen.
Som van natuurlijke getallen die while-lus gebruiken
#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; )
Uitvoer
Voer een positief geheel getal in: 100 Som = 5050
In beide programma's wordt de lus n aantal keren herhaald. En bij elke iteratie wordt de waarde van i opgeteld bij som en wordt i verhoogd met 1
.
Hoewel beide programma's technisch correct zijn, is het for
in dit geval beter om loop te gebruiken . Het is omdat het aantal iteraties bekend is.
De bovenstaande programma's werken niet goed als de gebruiker een negatief geheel getal invoert. Hier is een kleine wijziging van het bovenstaande programma, waarbij we input van de gebruiker blijven halen totdat een positief geheel getal wordt ingevoerd.
Leesinvoer totdat een positief geheel getal is ingevoerd
#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; )
Bezoek deze pagina om te leren hoe u de som van natuurlijke getallen kunt vinden met behulp van recursie.