兄弟们帮我看看问什么算出的结果不一样啊?

EricFengJia 2008-03-02 07:02:05
主要的问题是e那里的值不同我已经强行转换成 float 类型了,为什么它的值不一样啊,输入的是 6, 6, 8;
帮我看看那里不对啊,谢谢了!

#include <iostream.h>
#include <math.h>
float add (float a, float b, float c);

float add (float a, float b, float c)
{
float s = 0, e = 0;
cout << a << b << c;
s = (a + b + c) / 2;
cout << s << endl;
e = (float)sqrt (s * (s - a) * (s - b) * (s - c));
cout << e << endl;
return e;
}

void main()
{
float a, b, c, area;
cin >> a >> b >> c;
area = add (a, b, c);
cout << a << b << c;
cout << area << endl;
}
...全文
78 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hj_etone 2008-03-03
  • 打赏
  • 举报
回复
LZ写代码态度很不好。 写给自己看的,没有站在别人的立场去想。

#include <iostream.h>
#include <math.h>

float add (float a, float b, float c);

float add (float a, float b, float c)
{
float s = 0, e = 0;
cout <<"a="<<a<<endl;
cout <<"b="<<b<<endl;
cout <<"c="<<c<<endl;
s = (a + b + c)/2;
cout <<"s="<<s<< endl;
e = (float)sqrt(s *(s - a)*(s - b)*(s-c));
cout <<"e="<<e<< endl;
return e;
}

void main()
{
float a, b, c, area;

cin >> a >> b >> c;
area = add(a, b, c);
cout <<"a="<<a<<endl;
cout <<"b="<<b<<endl;
cout <<"c="<<c<<endl;
cout <<"area="<<area<< endl;
}
cjr5128422 2008-03-03
  • 打赏
  • 举报
回复
s = (a + b + c) / 2; //改为 s = static_cast<float> ((a + b + c)/2.0);
bicener 2008-03-02
  • 打赏
  • 举报
回复
我在VC++6.0上测试是相同的啊,你是不是因为输出abc的值的值时没换行,导致几个数字堆在一起了,所以看不清楚了啊,
diaoxue 2008-03-02
  • 打赏
  • 举报
回复
e = (float)sqrt (s * (s - a) * (s - b) * (s - c));
一个公式,求面积的吧
qqmeilideyi 2008-03-02
  • 打赏
  • 举报
回复
除3还是除2?这是求什么呢?
EricFengJia 2008-03-02
  • 打赏
  • 举报
回复
在线等!!!!!
发帖
C++ 语言

6.3w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2008-03-02 07:02
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下