前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >水面线求解c语言代码

水面线求解c语言代码

原创
作者头像
用户8896394
发布2022-04-30 16:44:11
2K0
发布2022-04-30 16:44:11
举报
文章被收录于专栏:水力学水力学
代码语言:javascript
复制
#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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com