| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 718 人关注过本帖
标题:编写了个小程序,最后结果不大对,是否float会四舍五入?
取消只看楼主 加入收藏
uswood
Rank: 2
等 级:论坛游民
帖 子:34
专家分:16
注 册:2014-3-29
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:6 
编写了个小程序,最后结果不大对,是否float会四舍五入?
   是一个例题,求一棵树的高度,通过一个高的人和一个矮的人与树站成一条直线,用相似三角形原理求出树的高度,2人的身高差/矮个子=(树高-矮个子)/树到高个子的距离。
   以下是程序代码。
   
程序代码:
#include<stdio.h>
int main(void)
{
  /*输入数据阶段*/
  float tree_height,tom_height,marry_height,gap;
  float distance_tm=0,distance_tt=0;
  float feet1,feet2;/*利用相似三角形原理计算对象高度,定义树、tom、marry两人身高,身高差,两人的距离,tom到树距离*/   

  printf("Please make a guy to stand between trees and another guy,"
         "they should have a different stature.\n\n");/*说明*/
  tom_height=1.0; /*防止scanf的bug*/

  printf("And then,please import a stature number of the height man: ");
    scanf("%f",&tom_height); /*得到tom的身高*/

  printf("\nThen,import a stature number of the short man:");
    scanf("%f",&marry_height);/*得到marry的身高*/

  printf("how many feets between tree and the hight man:");/*得到树到tom步数*/
    scanf("%f",&feet1);

  printf("how many feets between heightman and the shortman:");/*得到两人之间的步数*/
    scanf("%f",&feet2);


 

  /*化步数和身高为米*/
  feet1*=0.5;
  feet2*=0.5;
  tom_height/=60.0;
  marry_height/=60.0;
  /*开始计算*/
  gap=tom_height-marry_height;
  tree_height=gap/feet2*feet1+marry_height;

  printf("There is %f meter is it.\n",tree_height);

 

  return 0;
}

   编译并没有错误,但如果输入高个子170  矮个子160  树到高个子步数20  两人之间步数10,得到结果是3.0000,实际计算应该是3.2左右,
   如果把矮个子改158,就成了3.002这种,难道计算过程中进行了四舍五入吗?希望解惑

搜索更多相关主题的帖子: 矮个子 高个子 三角形 
2015-03-15 23:17
uswood
Rank: 2
等 级:论坛游民
帖 子:34
专家分:16
注 册:2014-3-29
收藏
得分:0 
回复 2楼 lxmaint
图片附件: 游客没有浏览图片的权限,请 登录注册


没听明白最后的那个计算式子是怎么出来的,这个是刚刚单步调试看的,粗略用计算机算了下确实是2。999之类的,可能昨天自己算错了。
然后那个/60写错了 ,应该是/100,把厘米化米的..
2015-03-16 12:07
uswood
Rank: 2
等 级:论坛游民
帖 子:34
专家分:16
注 册:2014-3-29
收藏
得分:0 
回复 3楼 TonyDeng
其实是有的,但我弄错了搞得大家都没看明白,应该是/100,写成了/60  把换算单位弄错了
2015-03-16 12:08
uswood
Rank: 2
等 级:论坛游民
帖 子:34
专家分:16
注 册:2014-3-29
收藏
得分:0 
回复 4楼 wp231957
谢谢提醒!  应该是/100的  把尺度弄成时间单位了
2015-03-16 12:09
uswood
Rank: 2
等 级:论坛游民
帖 子:34
专家分:16
注 册:2014-3-29
收藏
得分:0 
回复 5楼 lyd910915
头一次自己编,问题确实很多 还得约简约越好
2015-03-16 12:09
uswood
Rank: 2
等 级:论坛游民
帖 子:34
专家分:16
注 册:2014-3-29
收藏
得分:0 
回复 10楼 TonyDeng
没有抄啊 是把单位全部转换成米
公式是按 两人身高差比两人间距离=树上半高比高个子和树的距离,就求出上半树的高,再加矮个子身高就是最后结果了 ,不知道哪里错了。 能说一说吗
2015-03-16 16:42
uswood
Rank: 2
等 级:论坛游民
帖 子:34
专家分:16
注 册:2014-3-29
收藏
得分:0 
回复 10楼 TonyDeng
明白了。。公式确实错了。。
2015-03-16 16:44
快速回复:编写了个小程序,最后结果不大对,是否float会四舍五入?
数据加载中...
 
   



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

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