C语言 相似三角形是彼此各边长对应成同比例 的两个或更多个二角形。 请根据输入的三条边边长,去掉不能构成一角形者,只保留相似三角形中最前面的
时间: 2024-04-29 18:25:16 浏览: 10
代码如下:
```
#include <stdio.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 || b/c == c/a || c/a == a/b) { // 判断是否为相似三角形
printf("%.2f %.2f %.2f\n", a, b, c);
} else {
printf("不能构成相似三角形\n");
}
} else {
printf("输入的边长不能构成三角形\n");
}
return 0;
}
```
当然了,如果你需要更快更准确的方案,可以去 CSDN 上搜索相关的算法和代码。
相关问题
用c语言实现相似三角形是彼此各边长对应成同比例的两个或更多个三角形。 请根据输入的三条边边长,去掉不能构成三角形者,只保留相似三角形中最前面的一个。 输入描述:n组三条边的边长(n<10000)输入多行n个数用空格隔开,输出描述:去掉不能构成三角形者,如果存在相似三角形则只保留最前面的一个
以下是用C语言实现的代码:
```c
#include <stdio.h>
int main() {
while (1) {
int a, b, c;
if (scanf("%d%d%d", &a, &b, &c) != 3) { // 读入三个整数
break; // 如果读入失败则退出循环
}
if (a + b <= c || a + c <= b || b + c <= a) { // 判断是否能构成三角形
continue; // 如果不能则跳过本次循环
}
if (a * b == 2 * c * c || a * c == 2 * b * b || b * c == 2 * a * a) { // 判断是否为相似三角形
printf("%d %d %d\n", a, b, c); // 输出符合条件的三角形边长
break; // 退出循环
}
}
return 0;
}
```
代码逻辑如下:
1. 循环读入输入的三个整数a、b、c
2. 判断输入是否符合要求,如果读入失败则退出循环
3. 判断是否能构成三角形,如果不能则跳过本次循环
4. 判断是否为相似三角形,如果是则输出符合条件的三角形边长并退出循环
注意,这里使用了if语句的嵌套,可以让代码更加简洁和易读。同时,为了保证代码的健壮性,使用了scanf函数的返回值来判断是否成功读入三个整数。
用c语言 输入三角形的三条边长,求三角形的面积。
可以的,这是一个计算问题,可以通过计算公式求出三角形面积。以下是用C语言实现的代码:
```
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c;
float s, area;
printf("请输入三角形三条边长:\n");
scanf("%f%f%f", &a, &b, &c);
// 判断是否为三角形
if (a + b > c && b + c > a && a + c > b) {
// 计算半周长
s = (a + b + c) / 2;
// 计算面积
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("三角形的面积为:%f\n", area);
} else {
printf("输入的边长无法构成三角形!\n");
}
return 0;
}
```