C语言练习1-判断四根木棍是否可以摆成三角形
题目
分析
1、输入四根木棍的长度,输出三角形判断结果。 2、限制条件 三角形判断条件: (1)正常三角形的判断,两短边之和大于第三边,最大的两条边之差小于第三边。 (2)伪三角形的判断,两短边之和等于第三边 (3)不为三角形的判断,不满足上面条件的其他情况 3、 解决方法 第一种方法: 将第一根木棍长度与第二根木棍长度跟第三和第四根分别去判断,一直轮流判断,直到判断出属于该三角形的特征,输出result。 第二种方法: 将输入的四根木棍长度从小到大排列好,然后再去进行判断,得到result
//第二种方法 #include <stdio.h> //将输入的四根木棍长度进行排列 int solution(int m, int n, int p, int q){ int result; int arrLength[4] = { 0}; int i,j; arrLength[0] = m; arrLength[1] = n; arrLength[2] = p; arrLength[3] = q; for(i = 0;i < 4;i++){ for(j = i + 1;j < 4;j++){ if(arrLength[i] > arrLength[j]){ int t; t = arrLength[i]; arrLength[i] = arrLength[j]; arrLength[j] = t; } } }//判断三角形类型 if(arrLength[0] + arrLength[1] > arrLength[2] || arrLength[0] + arrLength[1] > arrLength[3] || arrLength[1] + arrLength[2] > arrLength[3]) { if(arrLength[0] + arrLength[1] < arrLength[2] || arrLength[0] + arrLength[1] < arrLength[3] || arrLength[1] + arrLength[2] < arrLength[3]) { result = 1; } } else if(arrLength[0] + arrLength[1] == arrLength[2] || arrLength[0] + arrLength[1] == arrLength[3] || arrLength[1] + arrLength[2] == arrLength[3]){ result = 0; } else{ result = -1; } // TODO: 请在此编写代码 return result; } int main() { int m; int n; int p; int q; scanf("%d", &m); scanf("%d", &n); scanf("%d", &p); scanf("%d", &q); int result = solution(m, n, p, q); printf("%d", result); //输出三角形类型 return 0; }
输入 1234 输出 1