给出三角形的三个边长,求三角形的面积。程序文件名为34.c。 输入测试数据 3.76 5.43 6.21 运行结果 10.13
时间: 2023-05-12 21:02:57 浏览: 66
以下是34.c的代码:
#include <stdio.h>
#include <math.h>
int main()
{
double a, b, c, s, area;
scanf("%lf %lf %lf", &a, &b, &c);
s = (a + b + c) / 2;
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("%.2lf", area);
return 0;
}
输入测试数据 3.76 5.43 6.21,程序运行结果为10.13。
相关问题
编制程序,完成该数学表达式 e*+x-6fun1(x)= x+1.3 如 fun1(0.76)=3.582fun1(3.00)=5.369fun1(3.76)=8.931
这里需要先定义一个函数 fun1:
def fun1(x):
return x**3 + 2*x**2 - 5*x + 3.5
然后,根据题目要求的数学表达式 e* x-6fun1(x)= x 1.3,我们可以编写如下程序:
import math
def fun1(x):
return x**3 + 2*x**2 - 5*x + 3.5
def solve(x):
return math.exp(x) * x - 6 * fun1(x) - 1.3
# 使用二分法求解方程
def bisection(a, b, eps):
while (b - a) / 2 > eps:
c = (a + b) / 2
if solve(c) == 0:
return c
elif solve(a) * solve(c) < 0:
b = c
else:
a = c
return (a + b) / 2
# 调用 bisection 函数求解方程
root = bisection(0, 5, 1e-6)
print("根为:", root)
print("验证解是否正确:", abs(solve(root)) < 1e-6)
# 输出 fun1(0.76), fun1(3.00), fun1(3.76) 的值
print("fun1(0.76)=", fun1(0.76))
print("fun1(3.00)=", fun1(3.00))
print("fun1(3.76)=", fun1(3.76))
其中,solve 函数用于求解方程 e* x-6fun1(x)= x 1.3 的值,bisection 函数用于使用二分法求解方程的根。最后,输出根的值和 fun1 函数在给定的三个点上的值。
24 3 4.11 6.36 3.6 1.84 25 3.6 5.61 7.58 4.42 4.17 340 2.3 3.35 7.27 2.087 1.795 339 2 2.84 7.27 2.05 1.66 377 1.86 2.33 5.479 4.42 1.699 381 3.4 4.23 7.27 5.43 1.88 384 2.6 2.76 7.27 5.44 1.83 507 1.8 3.76 9.14 3.76 1.85 509 1.8 3.85 9.43 5.06 1.93 512 1.8 3.6 8.79 3.64 1.82 MATLAB绘制区间图代码
这段数据中每一行有多个数据,其中第一个数据是横坐标,后面的数据是纵坐标和误差。因此,我们需要将数据分离出来,然后使用`errorbar`函数绘制区间图。
以下是一个可能的代码示例:
```matlab
% 将数据分离出来
x = [24, 25, 340, 339, 377, 381, 384, 507, 509, 512];
y = [3, 3.6, 2.3, 2, 1.86, 3.4, 2.6, 1.8, 1.8, 1.8];
error = [4.11, 5.61, 3.35, 2.84, 2.33, 4.23, 2.76, 3.76, 3.85, 3.6];
% 绘制区间图
errorbar(x, y, error, '.');
% 设置图形属性
xlabel('X');
ylabel('Y');
title('区间图');
```
这里,我们将 `x`、`y`和`error` 向量分别填充了数据。然后,我们使用`errorbar`函数绘制区间图。在这个例子中,我们只使用了一个点的形式来表示每个数据点。你可以根据自己的需求调整样式,例如使用线条和标记来表示数据点。
运行这段代码,就可以生成区间图了。