c++ pow的用法

sumJ+=pow(i%10,3);编译没有通过

请问这句话的问题在哪?

pow函数是求次方的函数,

函数原型是double pow(double a,double b);
使用时应包含math.h头文件。

1,C/C++中的数学函数编辑
原型:在TC2.0中原型为extern float pow(float x, float y); ,而在VC6.0中原型为double pow( double x, double y );
头文件:math.h/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个回答  2012-07-22
有没有加头文件#include<cmath>呢

没有用过,但按理应该可以

#include<iostream>
#include<cmath>
using namespace std;

int main()
{
int sum = 0;
for(int i = 1; i <= 4; i++)
sum += pow(i % 3, 3);
cout<<sum<<endl;
return 0;
}

刚刚试了一下,可以通过
运行结果
10
Press any key to continue本回答被提问者和网友采纳
第2个回答  2012-07-22
楼主,你是不是没加math头文件?
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int sumJ=0;
for (int i=1; i<=4; i++)
sumJ+=pow(i%10, 3);
cout<<sumJ<<endl;
return 0;
}
第3个回答  2012-07-22
你的i是多少啊???
相似回答