作业帮 > 综合 > 作业

c++急!判断三角形类型(程序需要运用函数)

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/26 02:59:57
c++急!判断三角形类型(程序需要运用函数)
输入三角形的三条边a,b,c,判断他们能否构成三角形,指出是何种三角形(等腰三角形,等边三角形,直角三角形,等腰直角三角形,一般三角形).写出程序及结果
我提高了悬赏,若你修改的程序能符合我的要求 就选为满意回答
#include <iostream>
using namespace std;
int main()
{
\x09int s1,s2,s3;
\x09cout<<"请输入三条边"<<endl;
\x09cin>>s1>>s2>>s3;
\x09if((s1+s2<=s3)||(s2+s3<=s1)||(s1+s3<=s2))
\x09{
\x09\x09cout<<"不能构成三角形"<<endl;
\x09\x09return 0;
\x09}
\x09else
\x09{
\x09\x09if(s1==s2&&s2==s3)
\x09\x09\x09cout<<"是等边三角形"<<endl;
\x09\x09else if((s1==s2)||(s2==s3))
\x09\x09{
\x09\x09\x09if((s1*s1+s2*s2==s3*s3)||(s2*s2+s3*s3==s1*s1)||(s1*s1+s3*s3==s2*s2))
\x09\x09\x09\x09cout<<"是等腰直角三角形"<<endl;
\x09\x09\x09else
\x09\x09\x09\x09cout<<"等腰三角形"<<endl;
\x09\x09}
\x09\x09else if((s1*s1+s2*s2==s3*s3)||(s2*s2+s3*s3==s1*s1)||(s1*s1+s3*s3==s2*s2))
\x09\x09\x09cout<<"直角三角形"<<endl;
\x09\x09else
\x09\x09\x09cout<<"一般三角形"<<endl;
\x09}
}
再问: 我是c语言的初学者,我看了一下你写的程序,有些我都看不懂,有些还觉得很奇怪,这是我的作业,你确定我能这样抄么 #include ? using namespace std; ? couts2>>s3; ?
再答: 你学的是C吧?但你说的不懂的那个就是C++的,你等下我就改好!#include <stdio.h>
int main()
{
    int s1,s2,s3;
    printf("请输入三条边\n");
    scanf("%d %d %d",&s1,&s2,&s3);
    if((s1+s2<=s3)||(s2+s3<=s1)||(s1+s3<=s2))
    {
        printf("不能构成三角形\n");
    }
    else
    {
        if(s1==s2&&s2==s3)
            printf("是等边三角形\n");
        else if((s1==s2)||(s2==s3))
        {
            if((s1*s1+s2*s2==s3*s3)||(s2*s2+s3*s3==s1*s1)||(s1*s1+s3*s3==s2*s2))
                printf("是等腰直角三角形\n");
            else
                printf("等腰三角形\n");
        }
        else if((s1*s1+s2*s2==s3*s3)||(s2*s2+s3*s3==s1*s1)||(s1*s1+s3*s3==s2*s2))
            printf("直角三角形\n");
        else
            printf("一般三角形\n");
    }
}
再问: 这样的话我完全看明白了,但是这个算是运用到了函数么,谢谢啦
再答: 没有运用到函数的,只是一般的三角形的判断方法! 如果没有疑问的话麻烦选为满意答案!
再问: c++急急急急急急!!判断三角形类型(程序需要运用函数) 可是,我这道题目 指名要用到函数的,你能再改一下么,
再答: 你等下!我知道了,运用函数的意思是要写其它函数由主函数调用的意思!马上就改好!
再问: 还有多久才能改好啊,
再答: #include <stdio.h>
int f1(int s1,int s2,int s3)
{
if((s1+s2<=s3)||(s2+s3<=s1)||(s1+s3<=s2))
return 1;
return 0;
}
int f2(int s1,int s2,int s3)
{
if(s1==s2&&s2==s3)
{
         printf("是等边三角形\n");
 return 1;
}
      else if((s1==s2)||(s2==s3))
      {
         if((s1*s1+s2*s2==s3*s3)||(s2*s2+s3*s3==s1*s1)||(s1*s1+s3*s3==s2*s2))
 {
              printf("是等腰直角三角形\n");
  return 1;
 }
          else
  {
           printf("等腰三角形\n");
   return 1;
  }
        }
  return 0;
}
int f3(int s1,int s2,int s3)
{
if((s1*s1+s2*s2==s3*s3)||(s2*s2+s3*s3==s1*s1)||(s1*s1+s3*s3==s2*s2))
return 1;
return 0;
}
int main()
{
    int s1,s2,s3;
    printf("请输入三条边\n");
    scanf("%d %d %d",&s1,&s2,&s3);
    if(f1(s1,s2,s3))
    {
       printf("不能构成三角形\n"); 
    }
    else
    {
int temp;
        temp=f2(s1,s2,s3);
if(!temp)
{
        if(f3(s1,s2,s3))
            printf("直角三角形\n");
        else
            printf("一般三角形\n");
}
    }
}//可以了