| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7743 人关注过本帖
标题:编写一个求x的y次方的函数
只看楼主 加入收藏
不啰嗦
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-11-18
结帖率:0
收藏
 问题点数:0 回复次数:6 
编写一个求x的y次方的函数
怎么在不调用软件自带数学函数的情况下,编写程序求x的y次方
在网上看了好多例子都是直接调用软件自带函数解决的
搜索更多相关主题的帖子: 函数 次方 软件 调用 编写 
2019-11-18 11:56
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
你总得说说 x、y 的类型吧,起码 y 的类型得告诉大家吧?foo( 1.23, 3.14 ) 你怎么搞?
2019-11-18 11:58
不啰嗦
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-11-18
收藏
得分:0 
不好意思,没有给出完整题目,
题目的x为实型,y为整形,要求返回值也是实型
2019-11-18 12:12
不啰嗦
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-11-18
收藏
得分:0 
回复 2楼 rjsp

不好意思,没有给出完整题目,
题目的x为实型,y为整形,要求返回值也是实型
2019-11-18 12:14
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
以下是引用不啰嗦在2019-11-18 12:12:32的发言:

不好意思,没有给出完整题目,
题目的x为实型,y为整形,要求返回值也是实型
y为整形?你确定不是无符号整型?
当然了,y是负数仅仅是增加了一步 取倒数 而已。

以下为伪代码
程序代码:
double your_pow( double x, int y )
{
    if( x==0 && y==0 )
        return 定义域错误;
    if( x==0 && y<0 )
        return 定义域错误 或 极点错误;
    if( x==0 && y>0 )
        return 0;

    unsigned y的绝对值 = (unsigned)(y<0 ? -y : +y); // 必须换成unsigned类型,因为 -INT_MIN 依然是小于0的数

    double result = 1;
    for( unsigned i=0; i!=y的绝对值; ++i ) // 没用“快速幂”,免得还要解释
        result *= x;
    if( y < 0 )
        result = 1.0/result;

    return result;
}



2019-11-18 12:45
不啰嗦
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-11-18
收藏
得分:0 
回复 5楼 rjsp
谢谢大佬的回答
2019-11-18 14:58
guan_yizhe
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2019-11-18
收藏
得分:0 
我怀疑我们是同学哈哈哈【滑稽】
2019-11-18 15:19
快速回复:编写一个求x的y次方的函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016596 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved