当前位置:网站首页>【码蹄集新手村600题】pow()函数详解
【码蹄集新手村600题】pow()函数详解
2022-07-29 17:21:00 【Sandm *】
pow () 函数的头文件:
#include <math.h>
也是其 floor () 函数的头文件
pow () 函数的函数原型:
该函数用来求 x 的 y 次幂,
其函数原型:
double pow( double x,double y);
我们可以从中看出,
其参数 x,y 以及其函数值实际上均为 double 类型
pow () 函数的使用方法:
其函数的返回值即为 x 的 y 次幂结果,
所以通常创建一个变量用来存放其返回值
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,ret;
scanf("%d,%d", &a, &b);
ret = pow(a,b); //求出a的b次方
printf("%d", ret);
return 0;
}pow () 函数的易错点:
在某些特定的情况之下,pow 函数的 double 类型可能回引起输出结果的错误,
出现此种错误的原因:
在向函数传参时,
违背了数学常识
即:
底数 a为负数并且指数 b 不是整数,将会导致 domain error 错误.
底数 a和指数 b都是 0,会导致 domain error 错误.
底数 a是 0,指数 b 为负数,会导致 domain error 或 pole error 错误.所以在使用pow函数时,要注意底数和指数数字的正负,不要违反基本的数学常识
例题:
题目链接:

参考代码:
#include<bits/stdc++.h>
using namespace std;
int main( )
{
int data = 0;
cin >> data;
int end = pow(data , 1.0/3);
//注意是1.0,这样能保证1.0/3的结果不为0,从而不违背数学常识
/*因为pow函数的返回类型是double,而题目要求最后输出的是整型
所以要创建一个 int 型的变量来存放*/
printf("%3d",end);
/*printf("%3d",pow(data , 1.0/3));
该种写法错误,
因为pow函数的返回值没有被保存,
出了其函数作用域后就被销毁了,
所以这样写的结果便是得到了随机值*/
return 0;
}边栏推荐
猜你喜欢

SSM整合案例分析(详解)

学会 arthas,让你 3 年经验掌握 5 年功力!

刚刚,60后复旦校友IPO敲钟:市值400亿

周末分享-关于微信生态变化和5G

service事物失效如何获取代理事物

HER2-2-ME-BSANPs单抗特异性的2-甲氧基雌二醇白蛋白纳米粒的研究与制备

Batch_Normalization 、Layer_Normalization 、Group_Normalization你分的清楚吗

管理层换血,魏建军求变,长城能告别“命悬一线”吗?

【Translation】Device Manager—Intel NIC Properties Setting Advanced Options Function

hihoCoder #1143 : 骨牌覆盖问题·一
随机推荐
"Record" MMDetection Introduction
大佬们一个 sql 优化问题。我有个4千万的表。然后加了一个字段,只有10+条数据会给值,其他行数据
Domino服务器SSL证书安装指南
一个redis工具类解决缓存击穿,缓存穿透
Internet Explorer 结束了它 26 年作为顶级浏览器的历史角色
【微信小程序】组件使用及属性参考
【高并发】我用多线程进一步优化了亿级流量电商业务下的海量数据校对系统,性能再次提升了200%!!(全程干货,建议收藏)
Loadrunner与Jmeter区别与相同
虚拟偶像的歌声原来是这样生成的!
【Mysql系列】02_连接+表
service事物失效如何获取代理事物
数学分析_证明_两个重要极限(同济版本)
DTSE Tech Talk丨第2期:解读云原生技术下,SaaS应用技术架构设计
[Network] Routing Routing Policy
reading order
Fast Reed-Solomon Interactive Oracle Proofs of Proximity学习笔记
解析idea中的debug调试模式
[网络]路由BGP
UNIX环境高级编程第三章
免费创建一个令人惊叹的网站的7个技巧