#include
#include
double fun(int n)
{
/Begin/
int i,j;
double s=0.0;
double x=1.0;
double sum=0;
for(i=1;i<=n;i++)
{
for(j=1;j<=i-1;j++)
x*=10;
sum+=x;
s+=1.0/(sum*i);
}
return s;
这是相关的代码,在调用函数那里发生了错误,如果一开始调用math.h,用pow来写的话就正确,但是用循环来表示10的i-1次方就会在n等于3时开始出错,求解决
目测,x=1.0;需要写在for(j=1;j<=i-1;j++)前面,每次j循环之前都要复位下。
但是具体还是要看你的题目要求和你的意图
#include<math.h>
pow() 函数用来求 x 的 y 次幂(次方),x、y及函数值实际上为double型 ,其在使用中的原型为:double pow(double x, double y);
注意,在某些特定的情况之下,pow函数的double类型可能会引起输出结果的错误