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

经验分享 程序员 微信小程序 职场和发展