用c语言写程序;1.给定三个值x,y,z,返回以这三个值为边长的三角形面积,精确到0.000001,利用海伦公式
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/06/23 23:36:39
用c语言写程序;1.给定三个值x,y,z,返回以这三个值为边长的三角形面积,精确到0.000001,利用海伦公式
2.给定一个区间的上下限,返回函数x/1+x×x在该区间上的积分,精确到0.000001
3.求∫1 +∞ sinx/x dx(∫1 +∞是1到正无穷上积分)
2.给定一个区间的上下限,返回函数x/1+x×x在该区间上的积分,精确到0.000001
3.求∫1 +∞ sinx/x dx(∫1 +∞是1到正无穷上积分)
![用c语言写程序;1.给定三个值x,y,z,返回以这三个值为边长的三角形面积,精确到0.000001,利用海伦公式](/uploads/image/z/5858282-2-2.jpg?t=%E7%94%A8c%E8%AF%AD%E8%A8%80%E5%86%99%E7%A8%8B%E5%BA%8F%EF%BC%9B1.%E7%BB%99%E5%AE%9A%E4%B8%89%E4%B8%AA%E5%80%BCx%2Cy%2Cz%2C%E8%BF%94%E5%9B%9E%E4%BB%A5%E8%BF%99%E4%B8%89%E4%B8%AA%E5%80%BC%E4%B8%BA%E8%BE%B9%E9%95%BF%E7%9A%84%E4%B8%89%E8%A7%92%E5%BD%A2%E9%9D%A2%E7%A7%AF%2C%E7%B2%BE%E7%A1%AE%E5%88%B00.000001%2C%E5%88%A9%E7%94%A8%E6%B5%B7%E4%BC%A6%E5%85%AC%E5%BC%8F)
第一题:
#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;
}
这几道题不难啊.主要是数学知识吧.
望采纳
再问: 我刚开始学C语言,这几个貌似是看不懂。。。不过还是谢谢。第三题是无法用C语言或者C 写吗
再答: 不是无法用c语言写,而是会比较麻烦。。 因为数学中∫sinx/x dx这个积分只能通过级数表达,而在C语言中使用级数相对直接按定积分定义进行暴力求解更繁琐,代码效率更低,所以采取暴力求解的方法 而用计算机求定积分大部分情况暴力求解都可以处理,所以我给出的第三题的代码是一种广义的解法,具有通用性。。简单点说就是直接套公式的懒人算法的意思。。 暴力求解定积分问题是无法得出精确值的。。即使精度再高也不行。。因为本身的算法就有偏差。。所以我写了“这个积分没法求,要用到级数,C中不能简单实现,下使用暴力求解”这句话。。 求采纳
#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;
}
这几道题不难啊.主要是数学知识吧.
望采纳
再问: 我刚开始学C语言,这几个貌似是看不懂。。。不过还是谢谢。第三题是无法用C语言或者C 写吗
再答: 不是无法用c语言写,而是会比较麻烦。。 因为数学中∫sinx/x dx这个积分只能通过级数表达,而在C语言中使用级数相对直接按定积分定义进行暴力求解更繁琐,代码效率更低,所以采取暴力求解的方法 而用计算机求定积分大部分情况暴力求解都可以处理,所以我给出的第三题的代码是一种广义的解法,具有通用性。。简单点说就是直接套公式的懒人算法的意思。。 暴力求解定积分问题是无法得出精确值的。。即使精度再高也不行。。因为本身的算法就有偏差。。所以我写了“这个积分没法求,要用到级数,C中不能简单实现,下使用暴力求解”这句话。。 求采纳
用c语言写程序;1.给定三个值x,y,z,返回以这三个值为边长的三角形面积,精确到0.000001,利用海伦公式
设计C程序,由键盘键入三个数,计算以这三个数为边长的三角形的面积.
C语言编程问题,利用海伦公式求三角形面积
编写一程序,要求由键盘输入三个数,计算以这三个数为边长的三角形面积.
找x, y, z三个数中间大的数,先画出流程图,在写程序.C语言
任意给定三个实数,设计一个算法,判断以这3个实数为边长的三角形是否存在,并画出这个算法的程序框图
任意给定三个实数,设计一个算法,判断 以这3个实数为边长的三角形是否存在,并 画出这个算法的程序框图
海伦秦九韶公式 如果一个三角形边长分别为a b c 用公式计算下列三角形的面积
、给定程序MODI1.C中函数fun的功能是:根据输入的三个边长(整型值),判断能否构成三角形;构成的是等边三角形,还是
C语言:用海伦公式求三角形面积
由键盘输入三个数,计算以这三个数为边长的三角形的面积.
C语言程序“编写由三角形三边求面积的函数”要求必须使用函数调用.还要用到海伦公式.