永发信息网

c++计算三角形面积

答案:3  悬赏:0  手机版
解决时间 2021-08-22 15:59

#include"iostream"
#include"cmath"
using namespace std;
int max(int x,int y,int z)
{
 int a,b,c,d;
 if(a>b)
 {
  if(a>c)
   d=a;
  else
   d=c;
 }
 else
 {
  if(c>b)
   d=c;
  else
   d=b;
 }
 return d;
}
int main()
{
 float a,b,c,d,l,s;
 cin>>a>>b>>c;
 d=max(a,b,c);
 l=(a+b+c)/2;
 if(l>d)
 {
  s=sqrt(l*(l-a)*(l-b)*(l-c));
  cout<<"s="<<s<<endl;
 }
 else
 {
  cout<<"error"<<endl;
 }
 cout<<"d="<<d<<endl;
 return 0;
}

这个有什么问题

最佳答案
很明显的错误,,,max函数没有对形参进行处理
可以这样改:
#include"iostream"
#include"cmath"
using namespace std;
int max(int x,int y,int z)    //形参是x,y,z,但是你没有处理缺改而处理a,b,c
{
 int a,b,c,d;a=x;                               //这是改动最少的方法 但很多余,max函数里a,b,c的定义本来b=y;                              //就很多余的,直接用x,y,z代替a,b,c就行c=z;
 if(a>b)
 {
  if(a>c)
   d=a;
  else
   d=c;
 }
 else
 {
  if(c>b)
   d=c;
  else
   d=b;
 }
 return d;
}
int main()
{
 float a,b,c,d,l,s;
 cin>>a>>b>>c;
 d=max(a,b,c);
 l=(a+b+c)/2;
 if(l>d)
 {
  s=sqrt(l*(l-a)*(l-b)*(l-c));
  cout<<"s="<<s<<endl;
 }
 else
 {
  cout<<"error"<<endl;
 }
 cout<<"d="<<d<<endl;
 return 0;
}
全部回答

int max(int a,int b,int c)

{

  int d;

我记得max是里面本身就带有的函数还是值,你只要把max函数名字改下就可以了

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
社会抚养费征收流程,唐山超生缴纳社会抚养费
哪里可以下载2010后台挂Q版本?
系统限制的20%的宽带怎么取消?
小飞哥电动车官方网站
边境战争的荣誉多少各是哪些官职
qq留言代码怎么用
最近老是睡觉,一睡就是几天,怎么回事?
谁赠送给我游戏人生内测资格?
道教厕所文化幽默标语,形容楼观台的句子
龙沙区齐齐哈尔猫婆正宗重庆小面在什么地方啊
小熊今天不能进入社区 是为什么
吾非行险,盖因不得已而用之.的意思是?
网球王子 的片头曲和片尾曲分别是什么
怎样划分英语句子成分,汉语句子,我十二岁了划
ARP攻击
推荐资讯
北京市会计从业资格证可以重考不要以前成绩吗
上那去下载word啊
怎么开通会员比较便宜
问题(动点问题)
浙江省专科降分挡什么时候知道?
为什么我登手机QQ时会从启
幻灯片版式在哪里,做ppt的时候大纲和幻灯片没
刘辉 在线取英文名
许嵩现在死没?
祝愿宝宝成长的句子,祝老人添丁晋级的句子
如果某个较硬的物体卡在了喉咙里,那么过一段
如果我饿了,可不可以不吃饭?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?