• Lenguaje

    C

  • Descripción

    Dados tres datos enteros positivos, que representen las longitudes de un posible triángulo, determine si los datos corresponden a un triángulo. En caso afirmativo, escriba si el triángulo es equilátero, isósceles o escaleno. Calcule además su área.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main (void)
{
    float area, lado_a, lado_b, lado_c, semiperimetro;
    printf ("Ingresa el valor de lado a: ");
    scanf ("%f", &lado_a);
    (void) getchar ();
    printf ("Ingresa el valor de lado b: ");
    scanf ("%f", &lado_b);
    (void) getchar ();
    printf ("Ingresa el valor de lado c: ");
    scanf ("%f", &lado_c);
    (void) getchar ();
    semiperimetro=0;
    area=0;
    if(lado_a+lado_b>lado_c&&lado_b+lado_c>lado_a&&lado_c+lado_a>lado_b)
    {
        printf ("Los datos corresponden a un tri\240ngulo.\n");
        semiperimetro=(lado_a+lado_b+lado_c)/2;
        area=sqrt(semiperimetro*(semiperimetro-lado_a)*(semiperimetro-lado_b)*(semiperimetro-lado_c));
    }
    else
        printf ("Los datos no corresponden a un tri\240ngulo.\n");
    if(semiperimetro!=0&&lado_a==lado_b&&lado_b==lado_c)
        printf ("Tri\240ngulo equil\240tero.\n");
    if(semiperimetro!=0&&((lado_a==lado_b&&lado_b!=lado_c)||(lado_b==lado_c&&lado_c!=lado_a)||(lado_c==lado_a&&lado_a!=lado_b)))
        printf ("Tri\240ngulo is\242sceles.\n");
    if(semiperimetro!=0&&lado_a!=lado_b&&lado_b!=lado_c&&lado_c!=lado_a)
        printf ("Tri\240ngulo escaleno.\n");
    printf ("Valor de area: %g\n", area);
    printf ("Valor de semiperimetro: %g\n", semiperimetro);
    putchar ('\n');
    system ("pause");
    return EXIT_SUCCESS;
}