从品牌网站建设到网络营销策划,从策略到执行的一站式服务
这个挺简单啊。
成都创新互联是创新、创意、研发型一体的综合型网站建设公司,自成立以来公司不断探索创新,始终坚持为客户提供满意周到的服务,在本地打下了良好的口碑,在过去的十多年时间我们累计服务了上千家以及全国政企客户,如成都雨棚定制等企业单位,完善的项目管理流程,严格把控项目进度与质量监控加上过硬的技术实力获得客户的一致赞誉。
dx就是(b-i)/n;
然后做个n次的循环,每次加上矩形的值即可
下面是代码:如果n也定义成int,我的编译器不会执行类型转换,所以要强制执行,否则dx就会是int类型。若b-in,那么dx=0.
int f(int i,int b,int n,float *result)
{
float dx=(float)(b-i)/n;
for(int m=0;mn;m++)
*result+=((i+m*dx)*(i+m*dx)+3)*dx;
return 1;
}
i=0,b=10,n=1000,得到result=362.833,与精确值比较接近。因为矩形法求积分本来就不太准
另外,楼上的同学不要误导人家,积分的起始值可不一定是0,s=n*((n*i)*(n*i)+3)+s;明显把i默认当做0了。而且n是指划分的段数,不是区间长度。
#includevoidmain(){doublei,j;doublea,b,c=0;printf("请输入积分上下限:");scanf("%lf%lf",a,b);for(i=a;i=b;i+=10e-8){j=i*i+1;j*=10e-8;c+=j;}printf("ans=%.4f\n",c);}对了没考虑自变量取负值的情况,这个程序只适合算上下限都大于零的情况。
#include "stdio.h"
#include "math.h"
int main(void){
double i,s,d;
for(d=1E-7,s=i=0;i=2.0;i+=d)
s+=sqrt(4-i*i)*d;
printf("The result are %g\n",2*s);
return 0;
}
或
#include "stdio.h"
#include "math.h"
int main(void){
printf("The result are %g\n",2*asin(1)-2*asin(-1));
return 0;
}
你的错误原因在于scanf函数的错误运用,scanf函数以"\n"作为输入的结束,而你按下Enter键时在Windows上相当于输入了“\n\r”,这样引起的混乱致使程序无法识别你输入的a,b,n,故一直等待。
改进方法:输入语句改为 scanf("%lf %lf %d",a,b,n);
运行结果:
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图