如何知道三角形是否有效

How to know whether the triangle is valid or not by angles?

本文关键字:有效 是否 三角形 何知道      更新时间:2023-10-16

我想编写一个C 程序,该程序找到三角形是否有效
这是我的代码:

#include <iostream>
using namespace std;
int main () {
    int a,b,c;
    cin>>a>>b>>c;
    if (a+b+c==180)
    cout <<"Yes";
    else
    cout <<"No";
    return 0;
}

用户将输入3个角度,例如50 30 100它将打印有效的是,但是如果他输入
该怎么办0 0 180它将仅输入一个角度打印是。那不是三角形,我的程序将是"是"。我该怎么办?

从某种意义上说,你是对的;如果您有足够的信息来确定三角形无效,那么继续程序是没有意义的。因此,在下面建议的代码段中,您可以看到一旦用户输入值&lt;0或> 180,该程序以合适的错误消息终止。同样,一旦运行总和超过180,该程序也会尽早终止。

最终,一旦所有三个值都是输入角度的,所有这些值都是独立的三角形的有效角度,则将检查它们的总和。

int main() 
{
    // assuming angles must be integers:
    int angle, sum = 0;
    for (int i = 0; i < 3; i++) {
        cin >> angle;
        if (angle <= 0 || angle >= 180) {
            cout << "Error: Angle must be between 0 and 180n";
            return 0;
        }
        sum += angle;
        if (sum > 180) {
            cout << "Error: angles too largen";
            return 0;
        }
    }
    if (sum == 180) {
        cout << "Valid Triangle!n";
    } else {
        cout << "Error: angles must add up to 180n";
    }
    return 0;
}

您必须在此代码中考虑两个问题。首先:用户在有效的角度(即不超过180度,也许不是0)的角度。其次,一旦您确定角度有效,请确定三个角度是否可以成为三角形的一部分。

所以写两个函数:一个通过提示输入来获得角度的功能,检查角度是否有效,如果没有,则循环循环;一个决定三个有效角度是否是三角形的人。然后用一些合适的胶将它们固定在一起。