Bety芊
Bety芊
u
关注数: 14
粉丝数: 1
发帖数: 732
关注贴吧数: 49
c语言遇到了一个小问题,请各路大神帮我看看呀 为什么输入450的时候显示不出来要报错呢 #include <stdio.h> #include<math.h> double getY1(double x1){ if(x1==0) return 0; else return 16.44594 + 1.90314*x1 + 0.00382*x1*x1; } double getY2(double x2){ if(x2==0) return 0; else return 16.08124 +1.84358*x2 + 0.00344*x2*x2; } double getY3(double x3){ if(x3==0) return 0; else return 15.50286 + 1.82602*x3 + 0.00311*x3*x3; } double getY(double x1,double x2,double x3){ return getY1(x1)+getY2(x2)+getY3(x3); } int main(int argc,char**args) { double x; double x1,x2,x3; double step=0.01; //printf("请输入x的值"); scanf("%lf",&x); double max=-INFINITY; double fx1,fx2,fx3; double temp; for (x1=0;x1<=150;x1+=step) { for(x2=0;x2<=150;x2+=step) { x3=x-x2-x1; if (x3 < 0) break; if(x3 > 150) continue; temp=x/(getY1(x1)+getY2(x2)+getY3(x3)); if(temp>max) { fx1=x1; fx2=x2; fx3=x3; max=temp; } } } printf("\nx1=%lf\nx2=%lf\nx3=%lf\n 最大总效率: \n%lf",fx1,fx2,fx3,max) ; return 0; }
1
下一页