viridity435 2021-09-21 22:49 采纳率: 100%
浏览 116
已结题

C++谁帮我改改这个题

三角形类别
试题描述
   三角形的类型还是很多的,那么根据输入的三个正整数,以这三个数为边长,判断是否构成三角形?
   若不能输出“no”。
   若构成三角形,进一步判断它们构成的是:锐角三角形或直角三角形或钝角三角形。分别输出“ruijiao”,“zhijiao”,“dunjiao”。
   备注:
   两个短边的平方和等于一个长边的平方时为直角三角形,
   两个短边的平方和小于一个长边的平方时为钝角三角形,
   两个短边的平方和大于一个长边的平方时为锐角三角形。
输入
   输入三个正整数,邻近两数之间用一个空格隔开。代表三角形的三条边。
输出
   输出一个字符串,请根据三边情况输出(不输出引号)。
输入示例
   3 4 5
输出示例
   zhijiao
数据范围
   输入为int范围的整数
#include<stdio.h>
int main(){
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a){
if((a>b&&a>c&&aa=bb+cc)||(b>a&&b>c&&bb=aa+cc)||(c>a&&c>b&&cc=aa+bb))
printf("zhijiao");
else if (a>b&&a>c&&a
a>bb+cc||b>a&&b>c&&bb>aa+cc||c>a&&c>b&cc>aa+bb)
printf("dunjiao");
else if (a>b&&a>c&&aa<b*b+c*c||b>a&&b>c&&bb<aa+c*c||c>a&&c>b&&cc<aa+bb)
printf("ruijiao");}

else
printf("no");
return 0;}

  • 写回答

1条回答 默认 最新

  • 来一份温柔 2021-09-21 22:56
    关注
    
    #include <iostream>
    using namespace std;
    
    int main()
    {
        int a,b,c,max,max2,min2;
        cin>>a>>b>>c;
        int total = a*a+b*b+c*c;
        if(a>b)
        {
            max = a;
            if(c>a)
                max = c;
        }
        else
        {
            max = b;
            if(c>b)
                max = c;
        }
        max2 = max*max;
        min2 = total - max2;
        if (min2 == max2)
            cout<<"zhijiao"<<endl;
        else if(min2>max2)
            cout<<"ruijiao"<<endl;
        else
            cout<<"dunjiao"<<endl;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月19日
  • 已采纳回答 10月19日
  • 创建了问题 9月21日