老师求教,请指点迷津,谢谢您
题目描述
输入一个三角形的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;
}
正在回答
您好,定义一个函数,接受三个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,将用户输入的内容进行判断即可。
祝学习愉快!
- 参与学习 529 人
- 提交作业 110 份
- 解答问题 593 个
无论您是零基础、还是想晋升,亦或是想转型,C++无疑都是最佳选择。本路径共分为基础语法、指针与引用、面向对象三大模块,为你开启入门C++编程的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星