| 查看: 601 | 回复: 0 | |||
[求助]
积分编程运行结果出现错误y1和y2=-1.#IND00是怎么回事
|
|
#include<stdio.h> #include <math.h> #define PI 3.14159 double b1,K; double integral(double(*fun)(double x),double a,double b,int n) { double s,h,z; int i; s=(fun(a)+fun(b))/2; h=(b-a)/n; /*积分步长*/ for(i=1;i<n;i++) s=s+fun(a+i*h); z=s*h; return z;/*返回积分值*/ } double f(double x) { return((K-b1*(pow(K,2)-pow(x,2))/2)/sqrt(pow(x,2)-pow((K-b1*(pow(K,2)-pow(x,2))/2),2))); /*修改此处可以改变被积函数*/ } main() { double y,y1,L,K,jd; printf("请分别输入L和K的值:\n" ;scanf("%1f %1f",&L,&K); b1=4/(2*K+1); while(fabs(y1)>0.01) { b1=b1+0.001; y=integral(f,0.5,K,10000);/*修改此处可以改变积分上下限和步长*/ y1=L-2*y; jd=acos(K*(2-b1*K)+b1/4)*180/PI; } printf("b1=%f\n y=%lf\n y1=%lf\n jd=%lf\n",b1,y,y1,jd); } 看网上有人说是非法运算溢出什么的,但是我把b1的初值再加上0.001就没有为0的情况了,结果还是出现那种情况,求高手指点 |
» 猜你喜欢
最失望的一年
已经有17人回复
拟解决的关键科学问题还要不要写
已经有8人回复
为什么nbs上溴 没有产物点出现呢
已经有6人回复
求推荐博导
已经有4人回复
存款400万可以在学校里躺平吗
已经有34人回复
求助一下有机合成大神
已经有4人回复
求推荐英文EI期刊
已经有5人回复
26申博
已经有3人回复
基金委咋了?2026年的指南还没有出来?
已经有10人回复
疑惑?
已经有5人回复













;
回复此楼
点击这里搜索更多相关资源