C程序使用递归函数将给定数字取反

递归函数”是在函数主体中再次调用自己的东西。

例如,

  • 函数事实(),用于计算整数“ N”的阶乘,该整数是从1到N的所有整数的乘积。

  • 事实()的参数为1(或)0,该函数返回1。否则,它返回n * fact(n-1),直到“ n”等于1为止。

Fact (5) = 5* fact (4)

= 5*4*3* fact (3)

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

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

= 5*4*3*2*1

= 120.

示例

以下是使用递归函数反转数字的C程序-

#include<stdio.h>

main ( ){

   int n,f;

   int fact (int);

   clrscr ( );

   printf (“enter a number”);

   scanf (“%d”, &n);

   f = fact (n);

   printf (factorial value = %d”,f);

}

int fact (int n){

   int f;

   if ( ( n==1) || (n==0))

      return 1;

   else

      f = n*fact (n-1);

   return f;

}

输出结果

输出如下-

Enter a number 5

Factorial value = 120

下面给出的是另一个C程序,使用递归函数来反转给定的数字-

示例

#include<stdio.h>

int sum = 0,rem;

int main(){

   int num,revNum;

   printf("enter number:\n");

   scanf("%d",&num);

   revNum = revNumFunction(num);//调用函数以反转给定的数字

   printf("the number after reverse :%d",revNum);

   return 0;

}

revNumFunction(int num){

   if(num){

      rem = num%10;

      sum = sum*10 + rem;

      revNum(num/10);

   }

   else

      return sum;

}

输出结果

输出如下-

enter number: 1357

the number after reverse is :7531

以上是 C程序使用递归函数将给定数字取反 的全部内容, 来源链接: utcz.com/z/337067.html

回到顶部