| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 830 人关注过本帖
标题:究竟错在那里
只看楼主 加入收藏
CY博
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-9-20
结帖率:0
收藏
已结贴  问题点数:10 回复次数:8 
究竟错在那里
#include <stdio.h>
#include <math.h>
void main()
{
int p;
float r1,r2;
r1=0.0414,r2=0.0468;
p=1000*(1+3*r1)*(1+2*r2);

printf("本息和=%f",p);
}
2009-09-23 18:32
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:1 
将p定义为float型的。
#include <stdio.h>
#include <math.h>
void main()
{  
float p,r1,r2;
r1=0.0414,r2=0.0468;
p=1000*(1+3*r1)*(1+2*r2);
 
printf("本息和=%f",p);
}
同时注意float型的精度只有7位,所以小数点太靠后的几位是不准的。
或者你可以这样编写:
#include <stdio.h>
#include <math.h>
void main()
{
int p;
float q,r1,r2;
r1=0.0414,r2=0.0468;
q=1000*(1+3*r1)*(1+2*r2);
p=q;
printf("本息和是%f,取整数为%d",q,p);
}
同样q的后几位是不准的。

[ 本帖最后由 m456m654 于 2009-9-23 19:02 编辑 ]
2009-09-23 18:51
奋斗2010
Rank: 2
等 级:论坛游民
帖 子:14
专家分:22
注 册:2009-8-31
收藏
得分:1 
同上。
2009-09-23 18:55
硝烟尽
Rank: 2
等 级:论坛游民
帖 子:54
专家分:16
注 册:2009-2-27
收藏
得分:1 
同上,嘿嘿
2009-09-23 19:49
wzhq1309
Rank: 1
来 自:石家庄
等 级:新手上路
帖 子:5
专家分:1
注 册:2009-9-15
收藏
得分:1 
这个就是说%d %s %f  的应用吧,自己以后也要多注意啦
2009-09-23 20:38
lindow
Rank: 1
等 级:新手上路
帖 子:3
专家分:4
注 册:2009-5-6
收藏
得分:1 
数据类型的问题
2009-09-23 22:27
gaohan188
Rank: 2
等 级:论坛游民
帖 子:14
专家分:15
注 册:2009-8-25
收藏
得分:1 
学习学习!
2009-09-24 09:01
北西
Rank: 1
来 自:盐城
等 级:新手上路
帖 子:3
专家分:6
注 册:2009-9-24
收藏
得分:1 
哈哈,以后小心点就是了

http://shop58220540./
2009-09-24 10:31
zpf911
Rank: 1
等 级:新手上路
帖 子:3
专家分:1
注 册:2009-9-24
收藏
得分:1 
受教
2009-09-24 12:32
快速回复:究竟错在那里
数据加载中...
 
   



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

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