Selles näites õpitakse arvutama kasutaja sisestatud looduslike arvude summa.
Selle näite mõistmiseks peaksid teil olema teadmised järgmistest C-programmeerimise teemadest:
- C silmuse jaoks
- C ajal ja tehke … Loopi ajal
Positiivsed arvud 1, 2, 3… on tuntud kui looduslikud arvud. Looduslike arvude summa kuni 10 on:
summa = 1 + 2 + 3 +… + 10
Loopiks kasutatavate looduslike arvude 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; )
Ülaltoodud programm võtab kasutaja sisendi ja salvestab selle muutujasse n. Seejärel for
kasutatakse silmust summa arvutamiseks kuni n.
Naturaalsete arvude summa, kasutades silmus
#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; )
Väljund
Sisestage positiivne täisarv: 100 Summa = 5050
Mõlemas programmis korratakse tsüklit n korda. Igas iteratsioonis liidetakse i väärtus summale ja i suurendatakse 1
.
Kuigi mõlemad programmid on tehniliselt õiged, on for
sel juhul parem kasutada loopi. Sellepärast, et korduste arv on teada.
Ülaltoodud programmid ei tööta korralikult, kui kasutaja sisestab negatiivse täisarvu. Siin on ülaltoodud programmi väike muudatus, kus me võtame kasutajalt sisendit seni, kuni sisestatakse positiivne täisarv.
Loe sisestust, kuni sisestatakse positiivne täisarv
#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; )
Sellelt lehelt saate teada, kuidas rekursiooni abil leida looduslike arvude summa.