float类型出错
在C语言中经常会碰到float类型数据出错,换成int型就好了.但很多时候是需要使用float 型数据,用什么办法能改变这个现象,使实型数据正常使用,程序得以正常运行?以下是我做的一道题,我觉得就是这个问题,也许还有别的毛病,请诸位高手指点一二.假设当年产值为100,工业产值的增长率为每年c%,当c分别为6,8,10,12时,试求工业产值分别过多少年可实现翻番(即增长一倍).
此题我是这样做的:
#define N 100.0f
main()
{
int c[]={6,8,10,12};
int y[4];
int i,j;
float s[150];
for(j=0;j<4;j++)
{
y[j]=0; s[1]=N;
for(i=1;s[i]<200;i++)
{
s[i]=s[i]*(1+c[j]/N);
printf("%f\n",s[i]);
y[j]++;
}
printf("%d\t%d\n",c[j],y[j]);
}
}
但是运行提示:flodting point error:domain.,我怎么改也没运行成功.