当前位置:网站首页>【码蹄集新手村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;
}
边栏推荐
- 【WeChat Mini Program】Zero Basic Learning | Mini Program Grammar
- Arduino框架下轻量级ssd1306 I2C屏幕驱动库
- 解析idea中的debug调试模式
- 【高并发】我用多线程优化了亿级流量电商业务下的海量数据校对系统,性能直接提升了200%!!(全程干货,建议收藏)
- unity-shader-游戏渲染效果逆向分析
- UNIX环境高级编程第三章
- Recall i2i
- [C language brush questions] Explanation of the use of linked lists
- 常见的磁盘格式以及它们之间的区别
- Fast Reed-Solomon Interactive Oracle Proofs of Proximity学习笔记
猜你喜欢
随机推荐
「记录」MMDetection入门篇
"Hardcore" labelme shows the label in the picture
剑指offer专项突击版第14天
【Translation】Device Manager—Intel NIC Properties Setting Advanced Options Function
Interviewer: How does MySQL tune SQL statements based on execution plans?
DTSE Tech Talk丨第2期:解读云原生技术下,SaaS应用技术架构设计
脉冲风采|Committer 专访——腾讯工程师张大伟喊你吃“螃蟹”啦
hihoCoder #1143 : 骨牌覆盖问题·一
【 Leetcode 】 200. The number of islands (medium)
Piotr`s Ants
观点:灵魂绑定NFT和去中心化社会
Which is better, traditional render farm or cloud render farm?
leetcode141 -- 环形链表
【高并发】我用多线程优化了亿级流量电商业务下的海量数据校对系统,性能直接提升了200%!!(全程干货,建议收藏)
kubernetes之资源限制及QOS服务质量
leetcode136 -- 只出现一次的数字
解析正则表达式(一)
[网络]WAN技术组播
Route ISIS
刚刚,60后复旦校友IPO敲钟:市值400亿