A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 13717407086 中级黑马   /  2016-5-13 22:12  /  749 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//3、定义一个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。

#include <stdio.h>

int fun(int a,int b,int c);

int main(){
    int a,b,c;
    printf("请输入三个值进行判断\n");
    scanf("%d,%d,%d",&a,&b,&c);
   
    int res = fun(a,b, c);
    //返回值判断出最后结果并输出
   
    switch (res) {
        case 0:
            printf("不能构成三角形函数\n");
            break;
        case 1:
            printf("能构成一般三角形函数\n");
            break;
        case 2:
            printf("能构成等腰三角形函数返回2\n");
            break;
        case 3:
            printf("能构成等边三角形函数\n");
            break;
            
        default:
            break;
    }

   
   
   
    return 0;
   
}

int fun(int a,int b,int c){
    //求出max排序
    int arr[3]= {a,b,c};
    for (int i = 0; i < 3-1; i++) {
        for (int j = 0; j<3-1-i ; j++) {
            if (arr[j]>arr[j+1]) {
                int temp = arr[j];
                arr[j] =arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
//    如果最大的大于其余两个值和
    if (arr[2]>= arr[0]+arr[1]) {
        return 0;
    }else if (a==b&&b==c){
        return 3;
    }else if (arr[0]==arr[1]){
        return 2;
    }else{
        return 1;
    }
   
   
    return 0;
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马