| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 412 人关注过本帖
标题:请大家帮我看看这个程序错在什么地方了?
取消只看楼主 加入收藏
churichenxi
Rank: 1
等 级:等待验证会员
帖 子:9
专家分:0
注 册:2012-6-16
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:1 
请大家帮我看看这个程序错在什么地方了?
以下的程序是我照着书中的例子,自己编写的,可是运行的时候,最后的结果明显不对。可是我又查不出来到底是哪里出问题了。大家帮我看看。

/* 计算树的高度 */#include <stdio.h>
int main(void)
{
long A=0L; /* A的高度(厘米) */
long B=0L; /* B的高度(厘米) */
long cm=0L; /* 厘米 */
float m=0.00f; /* 米 */
long A_to_B=0; /* AB间的距离(厘米)*/
long B_to_tree=0; /* B到树间的距离(厘米)*/
long tree_height=0; /* 树的高度 */
const long cm_per_m=100L; /* 换算 */

/* 输入B的高度 */
printf("输入B的身高(厘米):");
scanf("%ld",&cm);
printf("输入B的身高(米):");
scanf("%.2f",&m);
B=m*cm_per_m;

/* 输入A的高度(至眼睛)*/
printf("输入A的身高(厘米):");
scanf("%ld",&cm);
printf("输入A的身高(米):");
scanf("%.2f",&m);
A=m*cm_per_m;

/* 输入AB的距离 */
printf("输入AB的距离(厘米):");
scanf("%ld",&cm);
printf("输入AB的距离(米):");
scanf("%.2f",&m);
A_to_B=m*cm_per_m;

/* B到树间的距离 */
printf("输入B到树的距离(米):");
scanf("%f",&m);
B_to_tree=m*cm_per_m;

/* 计算树的高度 */
tree_height=A+(A_to_B+B_to_tree)*(B-A)/A_to_B;

/* 显示结果 */
printf("树的高度为 %ld 厘米,%.2f 米。\n",
tree_height/cm_per_m,tree_height% cm_per_m);
return 0;
}
搜索更多相关主题的帖子: long include 
2012-06-16 22:42
churichenxi
Rank: 1
等 级:等待验证会员
帖 子:9
专家分:0
注 册:2012-6-16
收藏
得分:0 
我又把程序简化了一下, 把厘米和米的换算删了,直接把单位统一,这下就可以了。

/* 计算树的高度 */
#include <stdio.h>
int main(void)
{
float Ha=0.0f; /* A的身高 */
float Hb=0.0f; /* B的身高 */
float Ht=0.0f; /* 树的高度 */
float Dab=0.0f; /* AB的距离*/
float Dta=0.0f; /* A与树的距离 */

/* 输入A和B的高度 */
printf("输入A的身高(米):");
scanf("%f",&Ha);
printf("输入B的身高(米):");
scanf("%f",&Hb);

/* 输入AB的距离 */
printf("输入AB的距离(米):");
scanf("%f",&Dab);
printf("输入A到树的距离(米):");
scanf("%f",&Dta);

/* 计算树的高度 */
Ht=Hb+(Dta+Dab)*(Ha-Hb)/Dab;

/* 显示结果 */
printf("树的高度为%.2f米。\n",Ht);

return 0;
}
2012-06-17 13:24
快速回复:请大家帮我看看这个程序错在什么地方了?
数据加载中...
 
   



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

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