|
楼主 |
发表于 2020-6-5 10:17:07
|
显示全部楼层
本帖最后由 970334425 于 2020-6-5 10:18 编辑
#include <stdio.h>
#include<math.h>
#define PAI 3.1415926535
#define g 9.8
double Fun_c(Q);
double Fun_c(Q)
{
double p,hf,l,d,v,a,b,Q,Re,e,y,s;//s为圆周率
printf("请依次输入密度p、沿程阻力损失hf、管程长度l、直径d、运动黏度v、粗糙度a、精度b、流量Q、雷诺数Re、e、沿程阻力系数y\n");
scanf("%f%f%f%f%f%f%f%f%f%f%f",&p,&hf,&l,&d,&v,&a,&b,&Q,&Re,&e,&y);
Re=(4*Q)/(s*v*d);
e=(2*a)/d;
if(Re<=2000)
{
y=64/Re;
}
else if(2000<Re<(59.7/(pow(e,8/7))))
{
y=(0.3164/(pow(Re,0.25)));
}
else if((59.7/pow(e,8/7))<Re<((665-765*log10(e))/e))
{
double z;
z=1/pow(y,0.5);
z=(-1.8)*log10((6.8/Re)+pow((a/d)/3.7,1.11));
}
else if(Re>(665-765*log10(e))/e)
{
y=1/pow(2*log10((3.7*d)/a),2);
}
double Q1;
Q1=pow((g*pow(PAI,2)*pow(d,2)*hf)/(8*y*l),0.5);
}
void main()
{
}
定义double Q1 的时候出现了错误,说int到double会数据丢失,可是我定义的就是double啊 |
|