C Programma om de som van natuurlijke getallen te berekenen

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 forlus 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 forin 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.

Interessante artikelen...