c - 定义三角形类型的程序
问题描述
我想我被if
/else if
语句困住了。程序来定义三角形的类型。
我不明白,为什么它不能正常工作。而且,如果它不难,你能展示如何使用勾股定理优化直角三角形的工作吗?为了不将直角三角形与其他三角形混合。
代码:
int main() {
int a = 3;
int b = 4;
int c = 5;
int angle_A = 100;
int angle_B = 10;
int angle_C = 70;
if (a == b && a == c && c == b) {
printf("Equilateral triangle\n");
}
else if (a == c || b == c || a == b) {
printf("isosceles triangle.\n");
}
if ((pow(c, 2) == pow(b, 2) + pow(a, 2)) || (pow(a, 2) == pow(b, 2) || pow(c, 2)) || (pow(b, 2) == pow(c, 2) + pow(a, 2))) {
printf("right-angled triangle.\n");
}
if ((angle_A < 90 || angle_B < 90 || angle_C < 90) && angle_A + angle_B + angle_C == 180) {
printf("acute-angled triagle.\n");
}
if ((angle_A > 90 || angle_B > 90 || angle_C > 90) && angle_A + angle_B + angle_C == 180) {
printf("An obtuse triangle.\n");
}
return 0;
}
此代码的输出:
right-angled triangle.
acute-angled triangle.
An obtuse triangle.
解决方案
#include<stdio.h>
int main() {
int a = 3;
int b = 4;
int c = 5;
int angle_A = 100;
int angle_B = 10;
int angle_C = 70;
if(angle_A+angle_B+angle_C==180){
if (angle_A==60 && angle_B==60 && angle_C==60) {
printf("Equilateral triangle\n");
}
else if (a==c || b==c || a==b) {
printf("isosceles triangle.\n");
}
///////If one of the angle is 90 then its a right angled triangle///////
if (angle_A==90||angle_B==90||angle_C==90){
printf("right-angled triangle.\n");
}
////If all angles are less than 90 then its an acute angled triangle/////
if (angle_A < 90 && angle_B < 90 && angle_C < 90) {
printf("acute-angled triangle.\n");
}
////If one of the angle is greater than 90 degree then its an obtuse angled triangle////
if (angle_A > 90 || angle_B > 90 || angle_C > 90) {
printf("An obtuse triangle.\n");
}
}
return 0;
}
如果一个角度就是90
这样。然后它的一个right angled triangle.
推荐阅读
- javascript - JS/NodeJS/VSCode - 如何进入控制台记录的对象
- python - tensorflow 1.3.0 AttributeError:模块'tensorflow'没有属性'function'
- python - 接收多个 simpledialog 弹出窗口的输入
- nim-lang - 如何在 Nim 中声明可为空的字段?
- c++ - 在 C++ 中处理多个用户参数的方法?
- c++ - 将字符串传递给函数c ++时出现linux错误
- python - 如何使用 Tkinker 创建一个字母计数器?
- c - 重定向操作将订单的输出写入文件
- python-3.x - pandas:从一个 df 在另一个包含列表的 df 列中搜索列值
- automation - 当必须创建大量测试数据时使用 Cucumber Datatables 是否有效