#include<math.h>
#include<stdlib.h>
void printcba(long m)//c语言顷戚仔递归实现输入一个整数的每位输出
{
if(m<0) //判断输入值是否为负数,是负数输出负雀汪号
{
printf("%5c",'-')
m=-m
}
if(m>=10){//判断是否仔世已到数的开头,如果不满足则到,开始递归返回
m=m/10
printcba(m)
printf("%5d",m%10)
}
}
void main(){
long x
//clrscr()
system("cls")
printf("input x:")
scanf("%d",&x)
printcba(x*10)//为了使有相同的子问题,初始化x*10,如果不乘10则输入值末尾数不会显示输出
printf("\n")
}
以 C 语言卜肆为例,举一个最最经典的例子就是:计算一个整数的阶乘。#include <stdio.h>
int my_jiecheng( int ) /* 计算阶陵卖乘子函数原型说明 */
int main( )
{
int num, result = 0
scanf("%d", &num) /* 从键盘输入一个整数 num */
result = my_jiecheng(num) /* 调用计算阶乘子函型汪轿数 my_jeicheng( ),并将最终的结果保存在 result 变量中 */
printf("result = %d\n", result ) /* 输出最后的计算结果 */
return 0
}
int my_jiecheng( n )
{
if( n == 1 ) /* 定义: 1!== 1,即:1 的阶乘等于 1 */
return (1) /* n == 1,返回 1 */
else /* 递归调用 my_jiecheng( ) 子函数 */
return( n * my_jiecheng(n-1) ) /* 否则的话,n != 1,递归调用 n*(n-1) ! */
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)