如何用递归法写幂指数函数?

#include<stdio.h>
int m(int a,int i)
{
    if(i==0)
        return 1;
    else
    {
        i--;
        return a*m(a,i);
    }
}
int main()
{
    int i,a;
    while(1){
    scanf("%d %d",&a,&i);
    printf("result is %d\n",m(a,i));}
    return 0;

}



输入:要进行迭代相乘的数,相乘的次数;

输出:相乘结果;


这个程序很简单,我要传达的是,迭代的要素:

1.有终止条件,在这个迭代中,终止条件是i=0.

2.我能用迭代做什么?显然是同一个思路,完成了多次运算,数值在这里变得不重要,重要的是,计算过程是不是类似的?显然我要不断地乘上一个数,这种计算,每一步都类似,因此这里用到迭代,代码量小,思路清晰。


版权声明:本文为sinat_39416814原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。