用递归函数来颠倒给定数字的 C 语言程序
“递归函数”是指在函数主体中再次调用自身的函数。
例如,
一个计算整数‘N’阶乘的函数 fact ( ),即从 1 到 N 的所有整数的乘积。
当 fact ( ) 带有 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:
");
scanf("%d",&num);
revNum=revNumFunction(num);//calling function to reverse the given number
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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
安卓
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP