老师求教,请指点迷津,谢谢您

老师求教,请指点迷津,谢谢您

题目描述    

输入一个三角形的3边长度,判断该三角形是否为直角三角形,若是则输出True,若不是则输出False。推荐做法:定义一个函数,接受三个int参数,返回bool,再用主函数调用之。

输入描述    

每行输入三个由空格隔开的整数 a, b, c ,表示三角形的 3条边长      

1 <= a,b,c<= 10000      

输出描述    

对于每一行输入,输出True或者False表明是否为直角三角形

样例输入    

3 4 5
6 7 8
1 1 1
样例输出  

True
False
Fals


 #include <iostream>
 using namespace std;
 int main()
 {
     int a,b,c;
     cout<<"请输入三角形的第一边"<<endl;
     cin>>a;
     cout<<"请输入三角形的第二边"<<endl;
     cin>>b;
     cout<<"请输入三角形的第三边"<<endl;
     cin>>c;
    
     cout<<"假设这三边可以构成一个三角形,请判断是什么类型的三角形"<<endl;
    
     bool flag1=a==b&&b==c;
     cout<<"判断是否为等边三角形:"<<flag1<<endl;
    
     bool flag2=a==b||a==c||b==c;
     cout<<"判断是否为等腰三角形:"<<flag2<<endl;
    
     bool flag3=(a*a==b*b+c*c)||(b*b==a*a+c*c)||(c*c==b*b+c*c);
     cout<<"判断是否为直角三角形:"<<flag3<<endl;
    
 }
 


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

您好,定义一个函数,接受三个int参数,返回bool,再用主函数调用之。(注:需要同学《C++函数及作用域》之后才可以理解。)

请参考:

#include <iostream>
#include <string>
using namespace std;
bool isTriangle(int a, int b, int c) {
    if ((a*a + b*b == c*c) || (a*a + c*c == b*b) || (c*c + b*b == a*a))
        return true;
    else
        return false;
}
int main() {
        cout<<"请输入三角形的三边长度"<<endl;
    int a, b, c;
    cin >> a >> b >> c;
    if (isTriangle(a, b, c))
        cout << "True" << endl;
    else
        cout << "False" << endl;
    return 0;
}

对于1 <= a,b,c<= 10000,将用户输入的内容进行判断即可。

祝学习愉快!

  • GoodGoodStudy_ 提问者 #1
    非常感谢!老师我画蛇添足了,不好意思
    2018-05-20 21:05:55
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
C++零基础入门 热门编程语言 二级考试必备
  • 参与学习       529    人
  • 提交作业       110    份
  • 解答问题       593    个

无论您是零基础、还是想晋升,亦或是想转型,C++无疑都是最佳选择。本路径共分为基础语法、指针与引用、面向对象三大模块,为你开启入门C++编程的大门!

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师