当前位置: 代码迷 >> C语言 >> float类型出错
  详细解决方案

float类型出错

热度:613   发布时间:2006-10-05 18:54:58.0
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.,我怎么改也没运行成功.
搜索更多相关的解决方案: 类型  float  

----------------解决方案--------------------------------------------------------
可以运行啊,你用的什么编译器?
----------------解决方案--------------------------------------------------------

那个提示不是程序的错误...编译器有点问题了
为什么用数组做呢?

程序代码:

#include<stdio.h>
void main()
{
float c=0.06f;
while(c<=0.12)
{
int i=1;
float sum=100.0;
while(sum<=200.0)
{
sum*=1+c;
i++;
}
printf(\"当增长率为%d%%时,需要%d年完成翻倍增值\n\",int(100*c),i);
c+=0.02f;

}
}



----------------解决方案--------------------------------------------------------
  相关解决方案