编写c语言程序由键盘任意输入3个实型数据代表三角形的3条边判断它们能否组成三角形如果可以组成三角形判断它是等腰三角形、等边三角形、等腰直角三角形、直角三角形的哪一种
思路:根据三角形的性质,三角形的任意两边之和大于第三边,可以通过输入的三个实型数据,判断是否能够组成三角形,如果可以,则根据三边长度关系,判断三角形的类型。
代码如下:
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c; // 三角形的三条边
// 输入三角形的三条边
printf("请输入三角形的三条边:\n");
scanf("%f %f %f", &a, &b, &c);
// 判断是否能够组成三角形
if (a + b > c && a + c > b && b + c > a) {
// 判断三角形的类型
if (a == b && b == c) {
printf("这是一个等边三角形\n");
}
else if (a == b || b == c || a == c) {
if (sqrt(pow(a, 2) + pow(b, 2)) == c || sqrt(pow(a, 2) + pow(c, 2)) == b || sqrt(pow(b, 2) + pow(c, 2)) == a) {
printf("这是一个等腰直角三角形\n");
}
else {
printf("这是一个等腰三角形\n");
}
}
else if (sqrt(pow(a, 2) + pow(b, 2)) == c || sqrt(pow(a, 2) + pow(c, 2)) == b || sqrt(pow(b, 2) + pow(c, 2)) == a) {
printf("这是一个直角三角形\n");
}
else {
printf("这是一个普通三角形\n");
}
}
else {
printf("这不是一个三角形\n");
}
return 0;
}
测试样例:
输入:
请输入三角形的三条边:
3 4 5
输出:
这是一个直角三角形
输入:
请输入三角形的三条边:
3 3 3
输出:
这是一个等边三角形
输入:
请输入三角形的三条边:
3 4 4
输出:
这是一个等腰三角形
输入:
请输入三角形的三条边:
3 3 5
输出:
这是一个普通三角形
原文地址: http://www.cveoy.top/t/topic/buAE 著作权归作者所有。请勿转载和采集!