第1次作业+105032014065

一、流程图

二、测试用例

三、测试结果

通过测试

四、代码优化建议

这次代码,无用的判断语句过多,无法做到准确的语句覆盖,建立可以优化逻辑,简化一个判断,以下给我出自己优化的代码

#include <bits/stdc++.h>

using namespace std;

string CheckResult( int tr[] ){
    if( tr[1] < 1 || tr[3] > 100 ){
        return "边的值不在范围内";
    }
    if( tr[1] + tr[2] <= tr[3] ){
        return "不能构成三角形";
    }
    if( tr[1] == tr[3] ){
        return "可构成等边三角形";
    }
    if( tr[1] == tr[2] || tr[2] == tr[3] ){
        return "可构成等腰三角形";
    }
    if( tr[1] * tr[1] + tr[2]*tr[2] == tr[3] * tr[3] ){
        return "可构成直角三角形";
    }
    else{
        return "可构成一般三角形";
    }
}


int main(){
    int tr[5];
    while( scanf("%d %d %d", &tr[1], &tr[2], &tr[3] ) != EOF ){
        printf("%d,%d,%d",tr[1],tr[2],tr[3]);
        sort( tr + 1 , tr + 1 + 3 );
        string ans = CheckResult( tr );
        cout << ans << '\n';
    }
    return 0;
}

  

posted @ 2017-03-18 20:55  Tichocan  阅读(268)  评论(0)    收藏  举报