|
10鱼币
运行输入 3 4 5 他说不是三角形,求大家指点
- #include "stdio.h"
- #include "math.h"
- float Cos(a, b, c);//算cos来判断钝锐直角
- float Cos(a, b, c)
- {
- float result;
- result = (b * b + c * c - a * a) / 2 * b * c;
- return result;
- }
- float size(float a, float b, float c);
- float size(float a, float b, float c)
- {
- float p;
- float result;
- p = (a + b + c) / 2;
- result = pow(p * (p - a) * (p - b) * (p -c), 1 / 2); //海伦公式求面积
- return result;
- }
- int main()
- {
- float s, a, b, c;
- printf("输入\n");
- scanf("%.2f %.2f %.2f", &a, &b, &c);
- if (a + b > c && a + c > b && b + c > a)
- {
- if ((Cos(a, b ,c) > 0) && (Cos(b, c, a) > 0) && (Cos(c, a, b) > 0)) //暴力判断
- {
- printf("锐角三角形\n");
- }
- if ((Cos(a, b ,c) == 0) || (Cos(b, c, a) == 0) || (Cos(c, a, b) == 0))
- {
- printf("直角三角形\n");
- }
- if ((Cos(a, b ,c) < 0) || (Cos(b, c, a) < 0) || (Cos(c, a, b) < 0))
- {
- printf("钝角三角形\n");
- }
- s = size(a, b, c);
- printf("面积为%.2f", s);
- }
- else
- {
- printf("不是三角形\n");
- }
- return 0;
- }
复制代码
本帖最后由 jhq999 于 2022-9-30 19:27 编辑
楼上说的对,把.2去掉就正确了
- float size(float a, float b, float c)
- {
- float p;
- float result;
- p = (a + b + c) / 2;
- result = sqrt(p*(p-a)*(p-c)*(p-b)); //海伦公式求面积
- //result = sqrt((a+b+c)*(a+b-c)*(a+c-b)*(b+c-a))/4; //海伦公式求面积
- return result;
- }
复制代码
|
|