Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

กลับลำดับตัวเลขด้วย Recursive Function ใน C

Recursive function = ฟังก์ชันที่เรียกตัวเองในตัวเอง

ตัวอย่าง: Factorial

fact(5) = 5 * fact(4)
        = 5 * 4 * fact(3)
        = 5 * 4 * 3 * fact(2)
        = 5 * 4 * 3 * 2 * fact(1)
        = 120

โปรแกรมที่ 1: Factorial ด้วย Recursion

#include <stdio.h>
int fact(int n) {
    if (n == 1 || n == 0)
        return 1;
    else
        return n * fact(n-1);
}
main() {
    int n, f;
    printf("Enter a number: ");
    scanf("%d", &n);
    f = fact(n);
    printf("Factorial value = %d", f);
}

ผลลัพธ์

Enter a number: 5
Factorial value = 120

โปรแกรมที่ 2: Reverse Number ด้วย Recursion

#include <stdio.h>
int sum = 0, rem;
int revNumFunction(int num) {
    if (num) {
        rem = num % 10;
        sum = sum * 10 + rem;
        revNumFunction(num / 10);
    } else
        return sum;
}
int main() {
    int num, revNum;
    printf("Enter number: ");
    scanf("%d", &num);
    revNum = revNumFunction(num);
    printf("Reversed number: %d", revNum);
    return 0;
}

ผลลัพธ์

Enter number: 1357
Reversed number: 7531