输入3个数到变量x,y和z,以空格分隔,以回车结束。编写程序判断这三个数能否构成三角形,若能构成三角形,打印此三角形是什么类型的三角形(一般、等边、等腰还是直角三角形等),并计算打印三角形的面积;若不能构成三角形,则打印“error)
时间: 2023-05-21 09:00:43 浏览: 148
以下是 CSDN 开发的 C知道 AI 的回答:
请参考以下代码:
#include <stdio.h>
#include <math.h>
int main()
{
float x, y, z;
printf("请输入三个数,以空格分隔:");
scanf("%f %f %f", &x, &y, &z);
if (x + y > z && x + z > y && y + z > x) {
if (x == y && y == z) {
printf("这是一个等边三角形\n");
} else if (x == y || x == z || y == z) {
printf("这是一个等腰三角形\n");
} else if (x * x + y * y == z * z || x * x + z * z == y * y || y * y + z * z == x * x) {
printf("这是一个直角三角形\n");
} else {
printf("这是一个一般三角形\n");
}
float p = (x + y + z) / 2;
float area = sqrt(p * (p - x) * (p - y) * (p - z));
printf("三角形的面积为:%f\n", area);
} else {
printf("error\n");
}
return 0;
}
如果输入的三个数能够构成三角形,程序会判断它是什么类型的三角形,并计算出它的面积;如果不能构成三角形,程序会输出“error”。
阅读全文