Esta pregunta requiere escribir un programa para a、b、c
calcular 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:
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