我想我被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.
您有一些错误,以下是详细信息:
double
没有int
。int main() {
double t;
double a = 3;
double b = 4;
double c = 5;
if (a == b && a == c)
printf("Equilateral triangle\n");
else if (a == c || b == c || a == b)
printf("isosceles triangle.\n");
if (a < b)
{
t = a;
a = b;
b = t;
}
if (a < c)
{
t = a;
a = c;
c = t;
}
if (pow(a, 2) == pow(b, 2) + pow(c, 2))
printf("Right-angled triangle.\n");
else if (pow(a, 2) < pow(b, 2) + pow(c, 2))
printf("Acute triagle.\n");
else
printf("Obtuse triangle.\n");
return 0;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句