c语言程序编写判断三角形形状
时间: 2023-10-27 16:52:24 浏览: 362
以下是一个判断三角形形状的C语言程序:
#include <stdio.h>
int main()
{
int a, b, c;
printf("请输入三角形的边长a, b, c:");
scanf("%d %d %d", &a, &b, &c);
if (a + b > c && a + c > b && b + c > a) // 判断是否为三角形
{
if (a == b && b == c) // 判断是否为等边三角形
printf("这是一个等边三角形\n");
else if (a == b || a == c || b == c) // 判断是否为等腰三角形
printf("这是一个等腰三角形\n");
else // 否则为普通三角形
printf("这是一个普通三角形\n");
}
else // 不是三角形
printf("这不是一个三角形\n");
return 0;
}
程序运行结果示例:
请输入三角形的边长a, b, c:3 4 5
这是一个普通三角形
请输入三角形的边长a, b, c:2 2 2
这是一个等边三角形
请输入三角形的边长a, b, c:3 3 4
这是一个等腰三角形
请输入三角形的边长a, b, c:1 2 3
这不是一个三角形
相关问题
C语言中判断三角形形状。
在C语言中,判断一个三角形的形状通常基于三条边长之间的关系。主要有三种类型的三角形:等边三角形、等腰三角形和普通三角形。这里我们可以编写一个函数,接受三条边作为参数,然后使用条件语句来确定其类型。以下是一个基本的实现:
```c
#include <stdio.h>
#include <math.h> // 引入数学库,用于计算平方根
// 函数声明
enum TriangleType { INVALID, RIGHT, ISOSCELES, SCALENE } isTriangleValid(float a, float b, float c);
// 判断三角形类型
enum TriangleType isTriangleValid(float a, float b, float c) {
// 三角形三边之和必须大于0
if (a + b <= c || a + c <= b || b + c <= a) {
return INVALID; // 边长无法构成三角形
}
// 计算半周长防止浮点误差带来的无效结果
float s = (a + b + c) / 2;
// 海伦公式计算面积,若面积为0,则是直角三角形
float area = sqrt(s * (s - a) * (s - b) * (s - c));
if (area == 0) {
return RIGHT; // 直角三角形
}
// 若两边相等,返回等腰三角形,否则返回一般三角形
if (fabs(a - b) < 0.0001 && a != c || fabs(b - c) < 0.0001) {
return ISOSCELES;
}
else {
return SCALENE;
}
}
int main() {
float side1, side2, side3;
printf("Enter the lengths of sides of a triangle: ");
scanf("%f %f %f", &side1, &side2, &side3);
enum TriangleType type = isTriangleValid(side1, side2, side3);
switch (type) {
case INVALID:
printf("Invalid triangle.\n");
break;
case RIGHT:
printf("Right triangle.\n");
break;
case ISOSCELES:
printf("Isosceles triangle.\n");
break;
case SCALENE:
printf("Scalene triangle.\n");
break;
}
return 0;
}
```
判断三角形形状及面积的c语言程序设计
要判断三角形的形状和计算面积,我们可以编写一个C语言程序。下面是一个使用用户输入三角形的边长的示例程序:
```c
#include <stdio.h>
#include <math.h>
int main() {
double side1, side2, side3;
printf("请输入三角形的三条边长:\n");
scanf("%lf %lf %lf", &side1, &side2, &side3);
// 判断三角形形状
if (side1 == side2 && side2 == side3) {
printf("这是一个等边三角形。\n");
}
else if (side1 == side2 || side2 == side3 || side1 == side3) {
printf("这是一个等腰三角形。\n");
}
else {
printf("这是一个普通三角形。\n");
}
// 计算三角形面积
double s = (side1 + side2 + side3) / 2; // 计算半周长
double area = sqrt(s * (s - side1) * (s - side2) * (s - side3)); // 使用海伦公式计算面积
printf("这个三角形的面积为:%lf\n", area);
return 0;
}
```
在这个程序中,我们首先要求用户输入三角形的三条边长,然后根据边长的关系判断三角形的形状。如果三边相等,则为等边三角形;如果有两边相等,则为等腰三角形;否则为普通三角形。接下来,我们通过海伦公式计算三角形的面积,其中s为半周长,通过(a+b+c)/2计算得到。
最后,将面积打印输出给用户。
这个程序可以帮助我们判断三角形的形状,并计算出其面积。
阅读全文