C++ 如何计算c++;
我试图计算一个数字的第三个根 例如,如果 n=8->2; 如果n=27->3强> pow函数在平方根(x^0.5)上运行良好,但在第三根(x^1/3)上不运行,这是为什么C++ 如何计算c++;,c++,math,C++,Math,我试图计算一个数字的第三个根 例如,如果 n=8->2; 如果n=27->3 pow函数在平方根(x^0.5)上运行良好,但在第三根(x^1/3)上不运行,这是为什么 #include <iostream> #include <math.h> using namespace std; int main() { int e = 0.3; double k; cout << "Enter k:" << endl; c
#include <iostream>
#include <math.h>
using namespace std;
int main() {
int e = 0.3;
double k;
cout << "Enter k:" << endl;
cin >> k;
k = pow(k, e);
cout << "The result of k^1/3 " << k << endl;
return 0;
}
#包括
#包括
使用名称空间std;
int main(){
int e=0.3;
双k;
库特k;
k=功率(k,e);
两个问题:
- 您将
e
声明为int
但尝试在其中存储double
值,因此它会被截断。您需要将e
声明为double
以正确存储该值
- 您用于
e
的值不正确。0.3
与1.0/3.0
不同,因此您的结果将被关闭。请改用1.0/3.0
作为此值
两个问题:
- 您将
e
声明为int
但尝试在其中存储double
值,因此它会被截断。您需要将e
声明为double
以正确存储该值
- 您用于
e
的值不正确。0.3
与1.0/3.0
不同,因此您的结果将被关闭。请改用1.0/3.0
作为此值
您已将指数声明为整数,因此它将始终被指定为零。请将其声明为双精度
在你的主要尝试中
double e = 1.0/3.0;
double k;
cout << "Enter k:" << endl;
cin >> k;
k = pow(k, e);
cout << "The result of k^1/3 " << k << endl;
return 0;
double e=1.0/3.0;
双k;
库特k;
k=功率(k,e);
cout您已将指数声明为整数,因此它将始终被指定为零。将其声明为双精度
在你的主要尝试中
double e = 1.0/3.0;
double k;
cout << "Enter k:" << endl;
cin >> k;
k = pow(k, e);
cout << "The result of k^1/3 " << k << endl;
return 0;
double e=1.0/3.0;
双k;
库特k;
k=功率(k,e);
cout这里必须使用double:
double e = 1./3.;
而不是int
#include <iostream>
#include <math.h>
using namespace std;
int main() {
double e = 1./3.; // <- this line is changed!
double k;
cout << "Enter k:" << endl;
cin >> k;
k = pow(k, e);
cout << "The result of k^1/3 " <<k << endl;
return 0;
}
#包括
#包括
使用名称空间std;
int main(){
double e=1./3.//此处必须使用double:
double e = 1./3.;
而不是int
#include <iostream>
#include <math.h>
using namespace std;
int main() {
double e = 1./3.; // <- this line is changed!
double k;
cout << "Enter k:" << endl;
cin >> k;
k = pow(k, e);
cout << "The result of k^1/3 " <<k << endl;
return 0;
}
#包括
#包括
使用名称空间std;
int main(){
双e=1./3;//您已将e声明为int,并将值0.3(3/10)(将向下转换为0)而不是1/3。3
不等于1.0/3
@Ben-没有转换。该值转换为0。问题为(1/3)另外,为什么不直接使用cbrt
函数呢?您已经声明e为int,并将值0.3(3/10)(将向下转换为0)而不是1/3。3
不等于1.0/3
@Ben-没有转换。该值被转换为0。抛开(1/3)的问题,为什么不直接使用cbrt
函数呢?