Experimento 3-8 Muestra el área y la circunferencia de un triángulo (15 puntos)

Esta pregunta requiere escribir un programa para a、b、ccalcular y generar el área y el perímetro en función de los tres lados del triángulo de entrada . Nota: En un triángulo, la suma de dos lados cualesquiera es mayor que el tercer lado. La fórmula para calcular el área de un triángulo:
área = s (s - a) (s - b) (s - c) área = \ sqrt {s} \ sqrt {(s − a)} \ sqrt { (s − b)} \ sqrt {(s − c)}a r e a=s ( s - a ) ( s - b ) ( s - c )
Dondes=(a+b+c)/2.

Formato de entrada:

La entrada son 3 enteros positivos, que representan los 3 lados del triángulo a、b、c.

Formato de salida:

Si el lado de entrada puede formar un triángulo, en una fila, de acuerdo con

area = 面积; perimeter = 周长

El formato de salida es conservar dos lugares decimales. De lo contrario, salida

These sides do not correspond to a valid triangle

Ejemplo de entrada 1:

5 5 3

Muestra de salida 1:

area = 7.15; perimeter = 13.00

Ejemplo de entrada 2:

1 4 1

Muestra de salida 2:

These sides do not correspond to a valid triangle

Código:

# include <stdio.h>
# include <stdlib.h>
# include <math.h>

int main() {
    
    
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);
    double area,perimeter,s;
    // 能构成三角形的条件
    if (a + b > c && a + c > b && b + c > a) {
    
    
        s = (a + b + c) / 2.0;
        area = sqrt(s * (s - a) * (s - b) * (s - c));
        perimeter = 2 * s;
        printf("area = %.2lf; perimeter = %.2lf",area,perimeter);
    }else {
    
    
        printf("These sides do not correspond to a valid triangle");
    }
    return 0;
}

Enviar captura de pantalla:

Inserte la descripción de la imagen aquí

Ideas de resolución de problemas:

La dificultad de esta pregunta radica en el juicio de la condición del triángulo:

  • La suma de cualesquiera dos lados es mayor que el tercer lado

Supongo que te gusta

Origin blog.csdn.net/weixin_43862765/article/details/114454636
Recomendado
Clasificación