C programm looduslike arvude summa leidmiseks rekursiooni abil

Lang L: none (table-of-contents)

Selles näites õpitakse rekursiivse funktsiooni abil leidma loodusarvude summa.

Selle näite mõistmiseks peaksid teil olema teadmised järgmistest C-programmeerimise teemadest:

  • C Kasutaja määratud funktsioonid
  • C Rekursioon

Positiivsed arvud 1, 2, 3… on tuntud kui looduslikud arvud. Allpool olev programm võtab kasutajalt positiivse täisarvu ja arvutab summa antud numbrini.

Külasta seda lehte, et leida silmuste abil looduslike arvude summa.

Rekursiooni kasutavate looduslike arvude summa

#include int addNumbers(int n); int main() ( int num; printf("Enter a positive integer: "); scanf("%d", &num); printf("Sum = %d", addNumbers(num)); return 0; ) int addNumbers(int n) ( if (n != 0) return n + addNumbers(n - 1); else return n; ) 

Väljund

Sisestage positiivne täisarv: 20 Summa = 210 

Oletame, et kasutaja sisestas 20.

Esialgu addNumbers()kutsutakse sellest main(), kui argument on 20 edastatud.

Tulemusele lisatakse arv 20 addNumbers(19).

Järgmise funktsiooni kõne addNumbers()kuni addNumbers()19 lastakse mis on lisatud tulemus addNumbers(18). See protsess kestab seni, kuni n on võrdne 0-ga.

Kui n on võrdne 0-ga, rekursiivset kõnet ei toimu. See tagastab main()funktsioonile täisarvude summa .

Huvitavad Artiklid...