用c语言写程序;1.给定三个值x,y,z,返回以这三个值为边长的三角形面积,精确到0.000001,利用海伦公式
来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/29 02:06:23
用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到正无穷上积分)
第一题:
#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语言程序“编写由三角形三边求面积的函数”要求必须使用函数调用.还要用到海伦公式.