黑马程序员技术交流社区

标题: 这个需要加判断正负吗 [打印本页]

作者: 13717407086    时间: 2016-5-13 22:12
标题: 这个需要加判断正负吗
//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;
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2