#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<easyx.h>
#include<conio.h>
#include"windows.h"
#include <math.h>
#pragma comment(lib,"Winmm.lib")
int I, j,x,y,z,q;
double h0;
void H_1(double x, double y, double z)
{
h0=pow((1 * pow(x, 2)/(y * pow(z, 2))),0.333333);//x=Q,y=g,z=b
printf("\n h0 is %lf", h0);
}
double a;
double h[10],HK;
void getH_k(double x, double y, double z,double q)
{
h[0] = h0;
for (I = 1; I < 10; I++)
{
h[I] = h[0] * ((1 + (2 * q *( h[I - 1] / z))) / (1 + (q *( h[I - 1] / z))));
a = h[I] - h[I - 1];
HK = h[I];
if (a < 0.001)
break;
}
printf("\n h[] is Hk = %lf \n ", HK);
}
double H0;
double H_0;
double H[10];
void H1(double x, double y, double z, double q,double m)
{
H0= pow((x*y)/(sqrt(z)*q), 0.6);//x=Q,y=g,z=b
H[0] = H0;
printf("\n H0 is %lf", H[0]);
for (I = 1; I < 10; I++)
{
H[I] = (H[0] * pow(q,0.6)) * pow((q + (2 * H[I - 1] * pow(1 + (m*m), 0.5))), 0.4) / (q + m * H[I - 1]);
a = H[I] - H[I - 1];
H_0 = H[I];
if (a < 0.0001)
break;
}
H_0 = H_0 * (1.01);
printf("\n h[I] is %lf", H_0);
}
double A_0;
double A(double b,double m,double h)
{
return A_0 = (b + m * h) * h;
}
double X_0;
double X(double b, double m, double h)
{
return X_0 = b + 2 * pow((1 + m * m), 0.5) * h;
}
double R_0;
double R(double a,double x)
{
return R_0 = a / x;
}
double CR5;
double CR(double n, double r)
{
return CR5 = (1 / n )* pow(r, 0.666666);
}
double V_0;
double V(double q, double a)
{
return V_0 = q / a;
}
double J;
double J_(double v1,double v2, double c1,double c2)
{
return J = 0.5 * (pow(v1, 2) / pow(c1, 2) + pow(v2, 2) / pow(c2, 2));
}
double s;
double S(double h1, double v1, double v2, double h2, double j, double i)
{
return s = (h1 + pow(v1, 2) / 19.6 - h2 - pow(v2, 2) / 19.6) / (i - j);
}
double A1, A2;
double X1, X2;
double R1, R2;
double C1, C2;
double V1, V2;
double J1;
double S1;
int main()
{
H_1(45, 9.8, 10);
getH_k(45,9.8,10,1.5);
H1(0.022, 45, 0.0009, 10, 1.5);
A1 = A(10,1.5,3.4);
A2 = A(10, 1.5, H_0);
X1 = X(10, 1.5, 3.4);
X2 = X(10, 1.5, H_0);
R1 = R(A1, X1);
R2 = R(A2, X2);
C1 = CR(0.022, R1);
C2 = CR(0.022, R2);
V1 = V(45, A1);
V2 = V(45, A2);
J1 = J_(V1, V2, C1, C2);
S1 = S(3.4, V1, V2, H_0, J1, 0.0009);
printf("\n %lf is 3.4至上游水深一次计算的大小", S1);
return 0;
}
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。