| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 622 人关注过本帖
标题:float类型出错
只看楼主 加入收藏
xyz_susan
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2006-10-4
收藏
 问题点数:0 回复次数:2 
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 
2006-10-05 18:54
xiaoyunhu
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-9-24
收藏
得分:0 
可以运行啊,你用的什么编译器?

小晕乎
2006-10-05 21:08
unicorn
Rank: 4
等 级:贵宾
威 望:14
帖 子:1066
专家分:0
注 册:2005-10-25
收藏
得分:0 

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


#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;

}
}



unicorn-h.spaces. ◇◆ sava-scratch.spaces.  noh enol ! pue pu!w hw u! shemle aq ll!m noh 
2006-10-05 21:15
快速回复:float类型出错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016155 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved