永发信息网

为什么运行后显示为floating point error:domain

答案:2  悬赏:40  手机版
解决时间 2021-01-29 22:07

#include "stdio.h"
#define M 100
void main()
{
int i,x,y;
float cost,rv,ul,dp[M],ds[M];
float sln(float cost,float rv,int ul);
float syd(float cost,float rv,int ul);
float ddb(float cost,float rv,int ul);
printf("Please choose the accounting method:");
scanf("%d",&i);
printf("\nPlease input the cost,residual value,useful life:");
scanf("%f %f %f",&cost,&rv,&ul);
if(i==1)
sln(cost,rv,ul);
if(i==2)
syd(cost,rv,ul);
if(i==3)
ddb(cost,rv,ul);
for(x=0;xprintf("The %d year's dp is %f\n",x+1,dp[x]);
printf("\n");
for(y=0;yprintf("The %d year's ds is %f\n",y+1,ds[y]);
}
float sln(float cost,float rv,int ul)
{int i;
float dp[M],ds[M];
for(i=0;i{
dp[i]=(cost-rv)/ul;
ds[i]=dp[i]*(i+1);
}return;
}
float syd(float cost,float rv,int ul)
{
int i;
float dr,dp[M],ds[M];
for(i=0;i{
dr=(ul-i)/(ul+1)*ul/2;
dp[i]=(cost-rv)*dr;
ds[i]=ds[i-1]+dp[i];
}return;
}
float ddb(float cost,float rv,int ul)
{int i;
float dr,dp[M],ds[M];
dr=2/ul;
for(i=0;i<(ul-2);i++)
{dp[i]=(cost-ds[i-1])*dr;
ds[i]=ds[i-1]+dp[i];
}
for(i=(ul-2);i{dp[i]=(cost-ds[i-1]-rv)/2;
ds[i]=ds[i-1]+(i-2)*dp[ul-1];
} return;
}
最佳答案
浮点库是不自动加载的,你至少在代码里使用一次浮点常量
float cost改为float cost=0.0看看
还有,确保你所有计算中没有诸如除0错误之类的常见浮点错误
全部回答
最主要问题是dp[M],ds[M]在主函数和各个其他函数分别声明,并不是同一个变量,应该将这些声明全部删去,而在函数外声明它们为全局变量,即只在主函数外写一次声明。 还有一个其他问题: ul为float,但函数sln等的第三个参数均为int,应该也全部改为float
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
江西萍乡哪里有买彼岸花,彼岸花的种子也行?
简述产品生命周期理论的主要内容
关于法学专业的疑问
日本动漫中火影的影是什么意思。
合愿的意思是什么啊?知道的请说下!
我的三星s4型号I9500最近老是出现这样的问题
四分铁三通尺寸是多少图纸
0.125乘7.2怎巧算
青山环绕一片绿,猜得好码不做声。是什么动物
鄂州棋院地址在什么地方,想过去办事
下列事件在《史记》和《资治通鉴》这两部史书
从刚刚出壳的一个山鸡苗饲养到成品出栏。50元
湖北师范大学教育教学实习基地地址在什么地方
畸异的意思是什么啊?知道的请说下!
没做海山任务怎么开启火焰之地任务?
推荐资讯
现实中哼嘟 死了吗 我说的是 拍完戏后 看电视
如弟的意思是什么啊?知道的请说下!
新别克商务换了电瓶公里数没有怎么办
有人能帮忙做一篇2500字的人力资源专业的论文
2.5×7.8+7.4×7.8+0.78的简便运算
熊猫快递(开发区东环一路金彩花园3-8熊猫快递
阿玛施地址在什么地方,想过去办事
新梦想画室(滁州全椒县)地址在什么地方,想过
脚桩的意思是什么啊?知道的请说下!
绕指柔美甲地址在什么地方,想过去办事
为什么苹果手机上的有些软件的蜂窝移动网络开
(x^2-4/x^2-4x+4-x-2/x+2)÷x/x-2
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?