#include \"math.h\"float T0,P0,Ma,Q,H;
void main() {
int Mode; void ModeOne(); void ModeTwo(); void Calculate(); void exit();
printf(\"**************************************************
热力计算模型程序
****************************\\n\");
printf(\"**************************************************
****************************\\n\");
printf(\"请选择模式:\\n\");
printf(\"1.模式 1 \\n2.模式 2 \\n3.退出\\n\");
scanf(\"%d\ switch (Mode) {
case 1 : ModeOne(); break; case 2 : ModeTwo(); break; case 3 : exit(); break;
default : printf(\"输入错误,请选择数字1~3!\\n\"); }
}
void ModeOne() { void Calculate();
printf(\"***********************************
模
1**************************************\\n\"); printf(\"请输入环境温度T0(K式温度):\"); scanf(\"%f\
printf(\"\\n请输入压力P0:\"); scanf(\"%f\
printf(\"\\n请输入飞行马赫数Ma(必须在0 ~ 0.9之间):\"); scanf(\"%f\
printf(\"\\n请输入引气量Q(必须在0 ~ 0.95之间):\");
式
scanf(\"%f\ Calculate();
}
void ModeTwo() { void Calculate();
printf(\"***********************************
模
2**************************************\\n\"); printf(\"\\n请输入高度H:\"); scanf(\"%f\
printf(\"\\n请输入飞行马赫数Ma(必须在0 ~ 0.9之间):\"); scanf(\"%f\
printf(\"\\n请输入引气量Q(必须在0 ~ 0.95之间):\");
scanf(\"%f\
if(H<=11000) {
T0=288.15-0.0065*H;
P0=1.0133*pow((1-H/44308.0),5.2553)*100000; }
else
式
}
{
T0=216.7;
P0=0.227*pow(2.178,(11000.0-H)/6338.0); }
Calculate();
void exit() { }
void Calculate() {
float V0,Pt0,Tt0; V0=(20.04*sqrt(T0))*Ma; Pt0=P0*pow(1+0.2*Ma*Ma,3.5); Tt0=T0*(1+0.2*Ma*Ma); printf(\"音速:V0=%f\\n\printf(\"环境总压:Pt0=%f\\n\printf(\"环境总温:Tt0=%f\\n\printf(\"\\n\"); exit();
float Pt2,Tt2; Pt2=0.97*Pt0; Tt2=Tt0;
printf(\"进气道出口总压:Pt2=%f\\n\printf(\"进气道出口总温:Tt2=%f\\n\
printf(\"\\n\");
float Pt25,Tt25,Ncl; Pt25=1.62*Pt22; Tt25=1.16812*Tt22; Ncl=1005*(Tt25-Tt22);
printf(\"低压压气机出口总压:Pt25=%f\\n\float Pt22,Tt22,Nclf; Pt22=1.5*Pt2; Tt22=1.14165*Tt2; Nclf=1005*(Tt22-Tt2);
printf(\"风扇出口总压:Pt22=%f\\n\printf(\"风扇出口总温:Tt22=%f\\n\
printf(\"流过风扇每千克空气做功:Nclf=%f\\n\printf(\"\\n\");
printf(\"低压压气机出口总温:Tt25=%f\\n\
printf(\"流过低压压气机每千克空气做功:Ncl=%f\\n\printf(\"\\n\");
float Pt3,Tt3,Nch; Pt3=10.56*Pt25; Tt3=2.1167*Pt25; Nch=1005*(Tt3-Tt25);
printf(\"高压压气机出口总压:Pt3=%f\\n\printf(\"高压压气机出口总温:Tt3=%f\\n\
printf(\"流过高压压气机每千克空气做功:Nch=%f\\n\printf(\"\\n\");
float f,Pt4,Tt4,W4; f=0.009507*(1/(0.95-Q)); Pt4=0.96*Pt3;
Tt4=(((0.95-Q)*(1+f)+0.05)*1588-0.0434*Tt3)/((0.95-Q)*(1+f)); W4=51.741-53.3*Q; printf(\"油气比:f=%f\\n\
printf(\"燃烧室出口总压:Pt4=%f\\n\printf(\"燃烧室出口总温:Tt4=%f\\n\printf(\"燃烧室出口流量:W4=%f\\n\
printf(\"\\n\");
float Tt45,Lth,Pt45;
Tt45=1588-(Tt25/(0.9674-1.001*Q)); Lth=pow(1-(1-Tt45/1588.0)/0.91,0-4.03); Pt45=1588/Lth;
printf(\"高压涡轮出口总压:Pt45=%f\\n\printf(\"高压涡轮出口总温:Tt45=%f\\n\printf(\"高压涡轮落压比:Lth=%f\\n\printf(\"\\n\");
float Tt5,Ltl,Pt5;
Tt5=(Tt45-Tt2/(1.039-1.0827*Q)); Ltl=(1-(1-Tt5/Tt45)/0.94,0-4.03); Pt5=Pt45*Ltl;
printf(\"低压涡轮出口总压:Pt5=%f\\n\printf(\"低压涡轮出口总温:Tt5=%f\\n\printf(\"低压涡轮落压比:Ltl=%f\\n\printf(\"\\n\");
float Ltbl,V6a,Fout,Tt6a,Pt6a,P6a,A6a; float Ltb,Win,V6,Fin,Tt6,Pt6,P6,F;
Ltbl=Pt22/P0; if(Ltbl<1.85) {
V6a=39.932*sqrt(Tt22); Fout=321.858*(V6a-V0); }
else if(Ltbl==1.85) {
V6a=18.298*Tt22; Fout=321.858*(V6a-V0); }
else {
V6a=18.298*sqrt(Tt22); Tt6a=Tt22; Pt6a=0.98*Pt22; P6a=0.5404*Pt22;
A6a=90401*(sqrt(Tt6a)/Pt22);
Fout=321.858*(V6a-V0)+A6a*(Pt6a-P0); printf(\"出口总温:Tt6a=%f\\n\ printf(\"出口总压:Pt6a=%f\\n\ printf(\"出口静压:P6a=%f\\n\
printf(\"出口截面积:A6a=%f\\n\}
printf(\"出口气流速度:V6a=%f\\n\printf(\"外涵推力:Fout=%f\\n\printf(\"\\n\");
Ltb=Pt5/P0;
Win=51.471-53.3*Q; if(Ltbl<1.85) {
V6=39.932*sqrt(Tt5); Fin=Win*(V6-V0); }
else if(Ltbl==1.85) {
V6=18.103*sqrt(Tt5); Fin=Win*(V6-V0); }
else {
V6a=18.298*sqrt(Tt22); Tt6=Tt5;
Pt6=0.98*Pt5; P6=0.5404*Pt5; V6a=18.103*sqrt(Tt5); A6a=(1381*sqrt(Tt5))/Pt5; Fin=Win*(V6-V0)+A6a*(P6-P0); printf(\"出口总温:Tt6=%f\\n\ printf(\"出口总压:Pt6=%f\\n\ printf(\"出口静压:P6=%f\\n\ printf(\"出口截面积:A6a=%f\\n\}
printf(\"出口气流速度:V6a=%f\\n\printf(\"外涵推力:Fin=%f\\n\
printf(\"总推力:F=%f\\n\
float sfc; }
sfc=1836/(Fout+Fin);
printf(\"燃油消耗率:sfc=%f\\n\printf(\"\\n\"); printf(\"\\n\");