一、流程图
二、测试用例
三、测试结果
通过测试
四、代码优化建议
这次代码,无用的判断语句过多,无法做到准确的语句覆盖,建立可以优化逻辑,简化一个判断,以下给我出自己优化的代码
#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; }
原文:http://www.cnblogs.com/Tichocan/p/6576087.html