C-ohjelma luonnollisten lukujen summan laskemiseksi

Tässä esimerkissä opit laskemaan käyttäjän syöttämien luonnollisten numeroiden summan.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista C-ohjelmointiaiheista:

  • C silmukalle
  • C kun ja tee … silmukan aikana

Positiiviset luvut 1, 2, 3… tunnetaan luonnollisina numeroina. Luonnollisten lukujen summa enintään 10 on:

 summa = 1 + 2 + 3 +… + 10 

Silmukkaa käyttävien luonnollisten numeroiden summa

 #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; ) 

Yllä oleva ohjelma ottaa käyttäjän panoksen ja tallentaa sen muuttujaan n. Sitten forsilmukkaa käytetään laskemaan summa n: ään asti.

Luonnollisten numeroiden summa, kun käytetään silmukkaa

 #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; ) 

Tuotos

 Anna positiivinen kokonaisluku: 100 Summa = 5050 

Molemmissa ohjelmissa silmukka toistetaan n useita kertoja. Ja jokaisessa iteraatiossa i: n arvo lisätään summaan ja i: tä lisätään 1.

Vaikka molemmat ohjelmat ovat teknisesti oikein, on parempi käyttää forsilmukkaa tässä tapauksessa. Se johtuu siitä, että toistojen määrä tiedetään.

Yllä olevat ohjelmat eivät toimi oikein, jos käyttäjä syöttää negatiivisen kokonaisluvun. Tässä on pieni muutos yllä olevaan ohjelmaan, jossa jatkamme käyttäjän syötteen saamista, kunnes positiivinen kokonaisluku syötetään.

Lue syöte, kunnes positiivinen kokonaisluku syötetään

 #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; ) 

Käy tällä sivulla oppiaksesi kuinka löytää luonnollisten lukujen summa rekursiota käyttämällä.

Mielenkiintoisia artikkeleita...