UT源码-160

设计三角形问题的程序

      输入三个整数a、b、c,分别作为三角形的三条边,现通过程序判断由三条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形(特殊的还有直角三角形),以及不构成三角形。(等腰直角三角形,判断为等腰三角形)

     现在要求输入三个整数a、b、c,必须满足以下条件:

     条件1   1≤a≤100          条件4   a<b+ c

     条件2   1≤b≤100          条件5   b<a+ c            

     条件3   1≤c≤100          条件6   c<a+ b 

  String triangle(int a,int b,int c)    返回字符型

 程序要求:

1)先显示:“请输入三角形的三条边:”

2)只要有不满足条件1,2,3之一,就返回“边的值不在范围内!”

3)只要有不满足4,5,6之一,就返回“不构成三角形”

4)根据边的情况分别返回:“等边三角形”“等腰三角形”“直角三角形”“一般三角形”

#include<stdio.h>
#include<iostream>
using namespace std;

char triangle(int a,int b,int c)
{
    if(a<b+c && b<a+c && c<a+b)
    {
        int temp = 0;

        if(a>b)
        {
            temp = a;
            a = b;
            b = temp;
        }
        if(a>c)
        {
            temp = a;
            a = c;
            c = temp;
        }
        if(b>c)
        {
            temp = b;
            b = c;
            c = temp;
        }

        if((a == b )&& (a== c))
        {
            return '1';
        }else if((a ==b) && a!=c)
        {
            return '2';
        }else if( a*a+b*b == c*c )
        {
            return '3';
        }else
        {
            return '4';
        }

    }else
    {
        printf("不构成三角形\n");
        return '0';
    }

}

void main()
{
    int a=0,b=0,c=0;
    printf("请输入三角形的三条边\n");
    scanf("%d%d%d",&a,&b,&c);
    char ac=' ';
    if(a<1 || a>100 || b<1 || b>100 || c<1 || c>100)
    {
        printf("边的值不存在\n");
    }else
    {
        ac = triangle(a,b,c);
        if(ac == '1')
            printf("等边三角形\n");
        else if(ac == '2')
        {
            printf("等腰三角形\n");
        }
        else if(ac == '3')
        {
            printf("直角三角形\n");
        }else if(ac == '4')
        {
            printf("一般三角形\n");
        }
    }
    system("pause");
}

 

posted on 2017-03-10 14:41  曾元鹏  阅读(278)  评论(0编辑  收藏  举报

导航