V tem primeru se boste naučili poiskati vsoto naravnih števil s pomočjo rekurzivne funkcije.
Če želite razumeti ta primer, morate poznati naslednje teme programiranja C:
- C Uporabniško določene funkcije
- C Rekurzija
Pozitivna števila 1, 2, 3 … so znana kot naravna števila. Spodnji program od uporabnika vzame pozitivno celo število in izračuna vsoto do dane številke.
Na tej strani poiščite vsoto naravnih števil s pomočjo zanke.
Vsota naravnih števil z uporabo rekurzije
#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; )
Izhod
Vnesite pozitivno celo število: 20 Vsota = 210
Recimo, da je uporabnik vnesel 20.
Sprva addNumbers()
je bil poklican z main()
z 20, ki je bil poslan kot argument.
Rezultatu je dodana številka 20 addNumbers(19)
.
V naslednjem klicu funkcije od addNumbers()
do addNumbers()
se posreduje 19, ki se doda rezultatu addNumbers(18)
. Ta postopek se nadaljuje, dokler n ni enako 0.
Ko je n enako 0, ni rekurzivnega klica. To vrne vsoto celih števil na koncu v main()
funkcijo.