#include<conio.h>
#include<stdio.h>
float fun(int m)
{
double y=0,d;
int i;
for(i=100;i<=m;i+=100)
{
d=(double)i*(double)i;
y+=1.0/d;
}
return y;
}
void main()
{
int n=2000;
printf("\nThe result is %lf\n",fun(n));
}
这个函数不能直接定义成double i吗?非要写成int i;d=(double)i*(double)i吗?
答案:1 悬赏:70 手机版
解决时间 2021-02-21 18:14
- 提问者网友:捧腹剧
- 2021-02-20 19:32
最佳答案
- 五星知识达人网友:撞了怀
- 2021-02-20 20:21
#include<conio.h>
#include<stdio.h>
double fun(int m) //返回值类型不符
{
double y=0; //d无用,去掉
int i;
for(i=100;i<=m;i+=100)
{
}
return y;
}
void main()
{
int n=2000;
printf("\nThe result is %lf\n",fun(n));
}如果 将i定义成double类型,则可能在for(i=100;i<=m;i+=100) 这里的循环控制出现偏差,因为浮点数的不精确性原因造成的。
#include<stdio.h>
double fun(int m) //返回值类型不符
{
double y=0; //d无用,去掉
int i;
for(i=100;i<=m;i+=100)
{
}
return y;
}
void main()
{
int n=2000;
printf("\nThe result is %lf\n",fun(n));
}如果 将i定义成double类型,则可能在for(i=100;i<=m;i+=100) 这里的循环控制出现偏差,因为浮点数的不精确性原因造成的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯