回 帖 发 新 帖 刷新版面

主题:[讨论]求解一个c++的问题 求一个   

//Ch6_3_3输入一个三角形的三边,判断它的种类,并计算它的面积
# include<iostream.h>
# include<math.h>
double jadge(double a,double b,double c)
{
    if (a==b&&b==c)
    {cout<<"等边三角形";
    return 1;}
     else if (a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b)
     {cout<<"直角三角形";
     return 2;}
     else
     {cout<<"一般三角形";
     return 3;}
}
double compute(double a)
{
    double s;
    s=sqrt(3)/4*a*a;
    return s;
}
double compute(double a,double b)
{
    double s;
    s=(1/2)*a*b;
    return s;
}
double compute(double a,double b,double c)
{
    double s,l;
    l=(a+b+c)/2;
    s=sqrt(l*(l-a)*(l-b)*(l-c));
    return s;
}
double main()
{
    double x,y,z,f,temp=0;
    cout<<"输入三角形的三边";
    cin>>x>>y>>z;
    f=jadge(x,y,z);
        if(f==1)
            temp=compute(x);
            else if(f==2)
            {
                if (x*x==y*y+z*z)
                    temp=compute(y,z);
                else if(y*y==x*x+z*z)
                    temp=compute(x,z);
                else
                    temp=compute(x,y);
 
            }
            else
            temp=compute(x,y,z);
            return 0;
}




回复列表 (共3个回复)

沙发

你没有输出面积的结果啊:[code=c]
#include<iostream.h>
#include<math.h>
double jadge(double a,double b,double c)
{
    if (a==b&&b==c)
    {cout<<"等边三角形";
    return 1;}
     else if (a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b)
     {cout<<"直角三角形";
     return 2;}
     else
     {cout<<"一般三角形";
     return 3;}
}
double compute(double a)
{
    double s;
    s=sqrt(3)/4*a*a;
    return s;
}
double compute(double a,double b)
{
    double s;
    s=a*b/2;
    return s;
}
double compute(double a,double b,double c)
{
    double s,l;
    l=(a+b+c)/2;
    s=sqrt(l*(l-a)*(l-b)*(l-c));
    return s;
}
double main()
{
    double x,y,z,f,temp=0;
    cout<<"输入三角形的三边";
    cin>>x>>y>>z;
    f=jadge(x,y,z);
        if(f==1)
            temp=compute(x);
            else if(f==2)
            {
                if (x*x==y*y+z*z)
                    temp=compute(y,z);
                else if(y*y==x*x+z*z)
                    temp=compute(x,z);
                else
                    temp=compute(x,y);
 
            }
            else
            temp=compute(x,y,z);
            cout<<"他的面积是:"<<temp<<endl;
            return 0;
}
[/code]
另外你改成下面:
double compute(double a,double b)
{
    double s;
    s=a*b/2;
    return s;
}

板凳

你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846

3 楼


#include<iostream>
#include<cmath>
using namespace std;
void  fun1(double  a1,double  a2,double  a3)
{
    double s=(a1+a2+a3)/2;
    double sum=sqrt((s-a1)*(s-a2)*(s-a3)*s);
    cout<<"三角面积为:"<<sum<<endl;
}
void fun(double a1,double a2 ,double a3)
{
    if (a1+a2<a3||a1+a3<a2||a2+a3<a1)
    {
        cout<<"这不是一个三角形"<<endl;
    }
    else {
             
              if (pow(a1,2)==pow(a2,2)+pow(a3,2)||pow(a2,2)==pow(a1,2)+pow(a3,2)||pow(a3,2)==pow(a2,2)+pow(a1,2))
                {
                      cout<<"这是直角三角形"<<endl;
                 }
              else if(pow(a1,2)>pow(a2,2)+pow(a3,2)||pow(a2,2)>pow(a1,2)+pow(a3,2)||pow(a3,2)>pow(a2,2)+pow(a1,2))
                 {
                        cout<<"这是钝角三角形"<<endl;
                        if (a1==a2||a3==a2||a1==a3)
                      {
                        cout<<"这还是个等腰三角形"<<endl;
                       }
                  }
              else
                   {
                      cout<<"这是个锐角三角形"<<endl;
                       if (a1==a2||a3==a2||a1==a3)
                   {
                    if (a1==a2&&a2==a3)
                    {
                         cout<<"这还是个等边三角形"<<endl;
                    }
                    else
                        cout<<"这还是个等腰三角形"<<endl;
                    }
                  }  
              fun1(a1,a2,a3);
        }
}
int main()
{
    cout<<"请输入需判断三角形的三条边:";
    double  a1,a2,a3;
    cin>>a1>>a2>>a3;
    fun(a1,a2,a3);
    
}
希望可以

我来回复

您尚未登录,请登录后再回复。点此登录或注册