用c语言写程序;1.给定三个值x,y,z,返回以这三个值为边长的三角形面积,精确到0.000001,利用海伦公式2.给定一个区间的上下限,返回函数x/1+x×x在该区间上的积分,精确到0.0000013.求∫1 +∞ sinx/x dx(
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/27 08:13:33
用c语言写程序;1.给定三个值x,y,z,返回以这三个值为边长的三角形面积,精确到0.000001,利用海伦公式2.给定一个区间的上下限,返回函数x/1+x×x在该区间上的积分,精确到0.0000013.求∫1 +∞ sinx/x dx(
用c语言写程序;1.给定三个值x,y,z,返回以这三个值为边长的三角形面积,精确到0.000001,利用海伦公式
2.给定一个区间的上下限,返回函数x/1+x×x在该区间上的积分,精确到0.000001
3.求∫1 +∞ sinx/x dx(∫1 +∞是1到正无穷上积分)
用c语言写程序;1.给定三个值x,y,z,返回以这三个值为边长的三角形面积,精确到0.000001,利用海伦公式2.给定一个区间的上下限,返回函数x/1+x×x在该区间上的积分,精确到0.0000013.求∫1 +∞ sinx/x dx(
第一题:
#include
#include
int main()
{
float a,b,c,p,S;
printf("Input a,b,c:");
scanf("%f%f%f",&a,&b,&c);
p = (a + b + c) / 2;
S = sqrt(p * (p - a) * (p - b) * (p - c)); /*海伦公式*/
printf("%f",S);
return 0;
}
第二题:∫x/1+x*x = ln(1+x*x)/2+C
#include
#include
int main()
{
float t;
double a,b;
printf("Input min,max:");
scanf("%lf%lf",&a,&b);
t = (log(1 + b * b)) / 2 - (log(1 + a * a)) / 2; /*log()即ln()*/
printf("%f",t);
return 0;
}/*本题也可以暴力求解,详见第三题*/
第三题:这个积分没法求,要用到级数,C中不能简单实现,下使用暴力求解
#include
#include
int main()
{
float dx = 0.00001; /*影响精度*/
float ans = 0,x = 1,t;
while((t = sin(x) / x * dx) >= 0.000001) /*精确到0.000001*/
{
x += dx;
ans += t;
}
printf("%f",ans);
return 0;
}
这几道题不难啊.主要是数学知识吧.
望采纳