输入int类型数据m,n,计算m的n次幂,并输出

waiting another me 2019-11-05 09:38:12
求大佬解答,感谢
...全文
600 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
源代码大师 2021-05-06
  • 打赏
  • 举报
回复
希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html 希望对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10768339.html
pro_or_check 2019-11-05
  • 打赏
  • 举报
回复
我还是觉得for循环比递归函数高效。 for(i=0,r=1;i<n;i++) r*=m
自信男孩 2019-11-05
  • 打赏
  • 举报
回复
double deep(double m, double n)
{
if (n == 0)
return 1;
return m * deep(m, n - 1);
}

这样更简洁一些~

引用 1 楼 fireyou 的回复:

#include<stdio.h>

double deep(double m, double n)
{
if (n == 0)
{
return 1;
}
else
{
return m * deep(m, n - 1);
}
}

int main(void)
{
int m, n;
double ret;

scanf("%d%d", &m, &n);
ret = deep(m, n);
printf("ret = %lf", ret);

return 0;
}
Eleven 2019-11-05
  • 打赏
  • 举报
回复
需要考虑一下溢出的问题~
fireyou 2019-11-05
  • 打赏
  • 举报
回复

#include<stdio.h>

double deep(double m, double n)
{
    if (n == 0)
    {
        return 1;
    }
    else
    {
        return m * deep(m, n - 1);
    }
}

int main(void)
{
    int m, n;
    double ret;

    scanf("%d%d", &m, &n);
    ret = deep(m, n);
    printf("ret = %lf", ret);

    return 0;
}

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧