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 5Factorial 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: 1357the number after reverse is :7531
以上是 C程序使用递归函数将给定数字取反 的全部内容, 来源链接: utcz.com/z/337067.html