Cette question nécessite d'écrire un programme pour a、b、c
calculer et sortir l'aire et le périmètre en fonction des trois côtés du triangle d'entrée . Remarque: dans un triangle, la somme de deux côtés est supérieure au troisième côté. La formule pour calculer l' aire d'un triangle:
area = s (s - a) (s - b) (s - c) area = \ sqrt {s} \ sqrt {(s − a)} \ sqrt { (s − b)} \ sqrt {(s − c)}a r e a=s( s - a )( s - b )( s - c )
Oùs=(a+b+c)/2
.
Format d'entrée:
L'entrée est 3 entiers positifs, représentant les 3 côtés du triangle a、b、c
.
Format de sortie:
Si le côté d'entrée peut former un triangle, dans une rangée, selon
area = 面积; perimeter = 周长
Le format de sortie consiste à conserver deux décimales. Sinon, sortie
These sides do not correspond to a valid triangle
Exemple d'entrée 1:
5 5 3
Exemple de sortie 1:
area = 7.15; perimeter = 13.00
Exemple d'entrée 2:
1 4 1
Exemple de sortie 2:
These sides do not correspond to a valid triangle
Code:
# 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;
}
Soumettre une capture d'écran:
Idées de résolution de problèmes:
La difficulté de cette question réside dans le jugement de la condition du triangle:
- La somme de deux côtés est supérieure au troisième côté