I dette eksemplet lærer du å finne summen av naturlige tall ved hjelp av en rekursiv funksjon.
For å forstå dette eksemplet, bør du ha kunnskap om følgende C-programmeringsemner:
- C Brukerdefinerte funksjoner
- C Rekursjon
De positive tallene 1, 2, 3 … er kjent som naturlige tall. Programmet nedenfor tar et positivt heltall fra brukeren og beregner summen opp til det gitte tallet.
Besøk denne siden for å finne summen av naturlige tall ved hjelp av en løkke.
Summen av naturlige tall ved bruk av rekursjon
#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; )
Produksjon
Skriv inn et positivt heltall: 20 Sum = 210
Anta at brukeren skrev inn 20.
Opprinnelig addNumbers()
kalles fra main()
med 20 bestått som argument.
Tallet 20 blir lagt til resultatet av addNumbers(19)
.
I neste funksjonsanrop fra addNumbers()
til addNumbers()
, sendes 19 som legges til resultatet av addNumbers(18)
. Denne prosessen fortsetter til n er lik 0.
Når n er lik 0, er det ingen rekursivt anrop. Dette returnerer summen av heltall til slutt til main()
funksjonen.