打印

[原创] C++输入三角形的三边长,求它的周长和面积!

判断 a b c 能否构成三角形
if(a+b>c&&a+c>b&&b+c>a)

else cout<<输入的边长无法构成三角形!<<endl;

TOP

根据楼上的提示我写了一个比较完整的:
#include <iostream>
#include<cmath>
int main()
{
    using namespace std;
    double a,b,c,d,e;
    char ans;
    do
    {
    cout <<"请输入三角形三边长:\n";
    cin >> a>>b>>c;
    cout<<"您输入的三角形三边长分别为"<<a<<" "<<b<<" "<<c<<endl;
    if(a+b>c&&a+c>b&&b+c>a)
    {
    d=(a+b+c)/2;
    e=d*(d-a)*(d-b)*(d-c);
   
    cout<<"三角形周长为:"<<a+b+c<<endl
            <<"面积为:"<<sqrt(e)<<endl
            <<"重新输入按Y or y\n";
            cin>>ans;
     }
            else
            {
            cout<<"您输入的数值有误,不能构成三角形,请重新输入。\n"
                <<"重新输入按Y or y\n";
            cin>>ans;
            }
              
     }
     while(ans=='Y'||ans=='y');
           
           
            
    return 0;
}
通过Dev-C++编译。
先判断是不是三角形  用两边之和大于第三边,至于算面积就得用海伦秦九韶公式了 以前做过的 这个

TOP

看看..我只会有C编写哦hehe....

回复 14# 的帖子

要变成c++的屏幕输入语句并不只是把scanf改成cin,括号里面也是要变的

TOP

回复 22# 的帖子

“  using namespace std; ”这句话应该放在“int main()”之前
看看
rex

TOP

AAA

#include<iostream>
#include<cmath>
using namespace std;

int main()
{
double a,b,c,s,l;
cin>>a>>b>>c;
if ((a+b>c)&&(a+c>b)&&(b+c>a))
{
      l=a+b+c;
          s = (a+b+c)/2;
          s=sqrt(s*(s-a)*(s-b)*(s-c));
      cout<<"l="<<l<<','<<"s="<<s<<endl;
}

else cout<<"can not structure !"<<endl;

return 0;
}


//海轮公式抄18楼kangjiang的
研究VB和C++技术,X杂志忠实读者

修补

判断语句写错了,负数不能构成三角形,应该是
if(a>0 && b>0 && c>0&&(a+b>c)&&(a+c>b)&&(b+c>a));
负数不能构成三角形
研究VB和C++技术,X杂志忠实读者

TOP

看看,是用哪个公式求的,高中白上了!

Processed in 0.340378 second(s), 5 queries, Gzip enabled