初学者想问下C语言的这个pow函数怎么用啊,改成float都不行了,

初学者想问下C语言的这个pow函数怎么用啊,改成float都不行了,,第1张

首先,程序倒数第三行,if语句的第二个条件syntax错误,不能使用连续小于,必须a<b && b<c
其次,将g转化为int格式输出的语句应该是printf("%d", (int)g);你的int(g),括号放错了位置。
我已经成功编译并输出了结果,如此改动应该没有问题。关于之前其他人提到的循环问题,你这个函数的循环次数为10的6次方,你是否确定你需要用到abcdef=000000到999999的全部组合?(000000,000001,000002,,999999)并且赋值计算?如果不是,那么我的回答仅仅能给你解决程序运行和输出的问题而无法解决你被要求解决的问题,请追问原问题要求。

pow函数是求次方的函数,
函数原型是double pow(double a,double b);
使用时应包含mathh头文件。
1,C/C++中的数学函数编辑
原型:在TC20中原型为extern float pow(float x, float y); ,而在VC60中原型为double pow( double x, double y );
头文件:mathh/cmath(C++中)
功能:计算x的y次幂。
返回值:x不能为负数且y为小数,或者x为0且y小于等于0,返回幂指数的结果。
返回类型:double型,int,float会给与警告!
2,pow函数的重载编辑
C++提供以下几种pow函数的重载形式:
double pow(double X,int Y);
float pow(float X,float Y);
float pow(float X,int Y);
long double pow(long double X,long double Y);
long double pow(long double X,int Y);
使用的时候应合理设置参数类型,避免有多个“pow”实例与参数列表相匹配的情况。
其中较容易发生重载的是使用形如:
int X,Y;
int num=pow(X,Y);
这是一个比较常用的函数,但是编译器会提醒有多个“pow”实例与参数列表相匹配。
可以使用强制类型转换解决这个问题:num=pow((float)X,Y);

方法如下:

1、首先,打开C语言编译器,新建一个初始cpp文件,例如:testcpp。

2、在testcpp文件中,输入C语言代码:

double a = 1000, n = 10, p = 0001;

printf("%lf", a pow(1+p, n) - a);

3、编译器运行testcpp文件,此时成功列出公式并计算出了利息结果。

#include<stdioh>
#include<mathh> //必须引用头文件
int main()
{
int x;
double d ; //pow返回结果为double类型
printf("input x: " );
scanf("%d", &x );
d=pow(10,x) ; //函数调用,两个参数,10,x
printf("10^%d=%0lf\n", x, d );
return 0;
}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12814001.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存