#include
#include
void main(void)
{
int k,R,m,i;
float pt,qt,ut,ut1,pt1,qt1,PT,QT,UN,PN,QN,Ug,PN1,U1,QN1,U,U2;
float RT,XT,GT,BT,UT,RT1,RT2,RT3,XT1,XT2,XT3,d;
char p;
float a0[10]; //用来保存L行的数据
float c,z; //临时变量,暂存读取的数据
float a1[30]; //用来保存T行数据
float a2[20]; //用来保存Y行数据
FILE *fp,*fout;
fp=fopen("e:\\tiaoyashuju3.txt","r");
fout=fopen("e:\\1.txt","w");
fscanf(fp,"%c",&p);//读进"L"
fprintf(fout,"%c\n",p);
printf("%c\n",p);
for(i=0; i
{
fscanf(fp,"%f",&c); //连续读取L行数据并存入数组a0[10]中
a0[i]=c;
}
for(i=0; i
{
printf("%f\t",a0[i]);
fprintf(fout,"%f,",a0[i]);
}
printf("\n"); //输出换行符
fprintf(fout,"\n",c);
fscanf(fp,"%c",&p);//读进"T"
printf("%c\n",p);
fprintf(fout,"%c\n",p);
for(i=0; i
{
fscanf(fp,"%f",&c); //连续读取T行数据并存入数组a1[30]中
a1[i]=c;
}
for(i=0; i
{
printf("%f\t",a1[i]);
fprintf(fout,"%0.2f,",a1[i]);
}
printf("\n"); //读进换行符
fprintf(fout,"\n",c);
fscanf(fp,"%c",&p);//读进"Y"
printf("%c\n",p);
fprintf(fout,"%c\n",p);
for(i=0; i
{
fscanf(fp,"%f",&c); //连续读取Y行数据并存入数组a2[20]中
a2[i]=c;
}
for(i=0; i
{
printf("%0.2f\t",a2[i]);
fprintf(fout,"%0.2f,",a2[i]);
}
fprintf(fout,"\n",c);
k=(int)a0[0];
/*归算线路参数*/
for(i=0;i
{
a0[4*i+1]=a0[4*i+4]*a0[4*i+1];
a0[4*i+2]=a0[4*i+4]*a0[4*i+2];
a0[4*i+3]=a0[4*i+4]*a0[4*i+3]/2;
}
if(a1[0]==2)
{
RT=a1[9]*a1[2]*a1[2]/(a1[1]*a1[1]*1000);
XT=a1[10]*a1[2]*a1[2]/(a1[1]*100);
GT=a1[11]/(a1[2]*a1[2]*1000);
BT=a1[12]*a1[1]/(a1[2]*a1[2]*100);
/*双绕组变压器参数*/
}
/*三绕组变压器*/
else
{
if(a1[11]==0)
{
if(a1[21]>=a1[22])
d=a1[22];
else
d=a1[21];
if(a1[23]==1) /*三绕组变压器自耦*/
{
a1[15]=a1[15]*a1[20]/a1[21];
a1[16]=a1[16]*a1[20]/a1[22];
a1[17]=a1[17]*a1[20]/d;
}
a1[12]=a1[12]*a1[20]*a1[20]/(a1[21]*a1[21]);
a1[13]=a1[13]*a1[20]*a1[20]/(a1[22]*a1[22]);
a1[14]=a1[14]*a1[20]*a1[20]/(d*d);
a1[12]=(a1[13]+a1[12]-a1[14])/2;
a1[13]=(a1[12]+a1[14]-a1[13])/2;
a1[14]=(a1[13]+a1[14]-a1[12])/2;
a1[15]=(a1[15]+a1[16]-a1[17])/2;
a1[16]=(a1[15]+a1[17]-a1[16])/2;
a1[17]=(a1[16]+a1[17]-a1[15])/2; /*三绕组变压器P,U的折算*/
RT1=a1[12]*a1[2]*a1[2]/(a1[1]*a1[1]*1000);
RT2=a1[13]*a1[2]*a1[2]/(a1[1]*a1[1]*1000);
RT3=a1[14]*a1[2]*a1[2]/(a1[1]*a1[1]*1000);
XT1=a1[15]*a1[2]*a1[2]/(a1[1]*100);
XT2=a1[16]*a1[2]*a1[2]/(a1[1]*100);
XT3=a1[17]*a1[2]*a1[2]/(a1[1]*100);
GT=a1[18]/(a1[2]*a1[2]*1000);
BT=a1[19]*a1[1]/(a1[2]*a1[2]*100);
}
else
{
if(a1[2
5]>=a1[26])
d=a1[26];
else
d=a1[25];
if(a1[27]==1) /*三绕组变压器自耦*/
{
a1[19]=a1[19]*a1[24]/a1[25];
a1[20]=a1[20]*a1[24]/a1[26];
a1[21]=a1[21]*a1[24]/d;
}
a1[16]=a1[16]*a1[24]*a1[24]/(a1[25]*a1[25]);
a1[17]=a1[17]*a1[24]*a1[24]/(a1[26]*a1[26]);
a1[18]=a1[18]*a1[24]*a1[24]/(d*d);
a1[16]=(a1[16]+a1[17]-a1[18])/2;
a1[17]=(a1[16]+a1[18]-a1[17])/2;
a1[18]=(a1[17]+a1[18]-a1[16])/2;
a1[19]=(a1[19]+a1[20]-a1[21])/2;
a1[20]=(a1[19]+a1[21]-a1[20])/2;
a1[21]=(a1[20]+a1[21]-a1[19])/2; /*三绕组变压器P,U的折算*/
RT1=a1[16]*a1[2]*a1[2]/(a1[1]*a1[1]*1000);
RT2=a1[17]*a1[2]*a1[2]/(a1[1]*a1[1]*1000);
RT3=a1[18]*a1[2]*a1[2]/(a1[1]*a1[1]*1000);
XT1=a1[19]*a1[2]*a1[2]/(a1[1]*100);
XT2=a1[20]*a1[2]*a1[2]/(a1[1]*100);
XT3=a1[21]*a1[2]*a1[2]/(a1[1]*100);
GT=a1[22]/(a1[2]*a1[2]*1000);
BT=a1[23]*a1[1]/(a1[2]*a1[2]*100);
}
}
for(R=0;R
{
if(R==0)
{
if(a1[0]==2)
fprintf(fout,"双绕组变压器\n\n",U);
else
fprintf(fout,"三绕组变压器\n\n",U);
}
if(R==0)
{
PN=a2[3];
QN=a2[4]-a2[5];
}
else
{
PN=a2[6];
QN=a2[7]-a2[8];
}
if(R==0)
{
printf("计算高峰负荷\n");
fprintf(fout,"高峰负荷\n\n",U);
}
else
{
printf("计算低峰负荷\n");
fprintf(fout,"低峰负荷\n\n",U);
}
PT=PN;
QT=QN;
if(a1[0]==2)
{
UT=a1[4]*a1[2]/a1[3];
pt=(PT*PT+QT*QT)*RT/(UT*UT);
qt=(PT*PT+QT*QT)*XT/(UT*UT); /*双绕组变压器损耗*/
ut=(PT*RT+QT*XT)/UT; /*电压损耗*/
ut1=(PT*XT-QT*RT)/UT;
UT=UT+ut;
UT=sqrt(UT*UT+ut1*ut1);
pt1=GT*UT*UT;
qt1=BT*UT*UT;
PT=PT+pt+pt1;
QT=QT+qt+qt1;
if(a2[9]==1)
{
if(R==0)
{
PT=PT+a2[10];
QT=QT+a2[11];
}
else
{
PT=PT+a2[12];
QT=QT+a2[13];
}
}
}
else
{
UT=a1[6]*a1[2]/a1[4];/*取低压侧开始算*/
if(R==0)
{
PN1=a2[9];
QN1=a2[10]-a2[11];
}
else
{
PN1=a2[12];
QN1=a2[13]-a2[14];
}
pt=(PT*PT+QT*QT)*RT3/(UT*UT);
qt=(PT*PT+QT*QT)*XT3/(UT*UT); /*低电压变压器损耗*/
ut=(PT*RT3+QT*XT3)/UT; /*低电压损耗*/
ut1=(PT*XT3-QT*RT3)/UT;
UT=UT+ut;
UT=sqrt(UT*UT+ut1*ut1);/*中间点电压*/
PT=PT+pt;
QT=QT+qt;
U1=(UT+sqrt(UT*UT-4*(PN1*RT2+QN1*XT2)))/2;/*取中压侧开始算*/
pt=(PN1*PN1+QN1*QN1)*RT2/(U1*U1);
qt=(PN1*PN1+QN1*QN1)*XT2/(U1*U1); /*中电压变压器损耗*/
PT=PT+pt+PN1;
QT=QT+qt+QN1; /*中间点功率*/
pt=(PT*PT+QT*QT)*RT1/(UT*UT);
qt=(PT*PT+QT*QT)*XT1/(UT*UT); /*高电压变压器损耗*/
ut=(PT*RT1+QT*XT1)/UT; /*高电压损耗*/
ut1=(PT*XT1-QT*RT1)/UT;
UT=UT+ut;
UT=sqrt(UT*UT+ut1*ut1);
pt1=GT*UT*UT;
qt1=BT*UT*UT;
PT=PT+pt+pt1;
QT=QT+qt+qt1;
if(a2[15]==1)
{
if(R==0)
{
PT=PT+a2[16];
QT=QT+a2[17];
}
else
{
PT=PT+a2[18];
QT=QT+a2[19];
}
} /*三绕组变压器首端S*/
}
/*线路损耗,电压,功率*/
for(i=k-1;i>=0;i--)
{
qt1=a0[4*i+3]*UT*UT;
QT=QT-qt1;
pt=(PT*PT+QT*QT)*a0[4*i+1]/(UT*UT);
qt=(PT*PT+QT*QT)*a0[4*i+2]/(UT*UT);
ut=(PT*a0[4*i+1]+QT*a0[4*i+2])/UT;
ut1=(PT*a0[4*i+2]-QT*a0[4*i+1])/UT;
UT=UT+ut;
UT=sqrt(UT*UT+ut1*ut1);
qt1=a0[4*i+3]*UT*UT;
PT=PT+pt;
QT=QT+qt-qt1;
}
Ug=UT;
/*从首段算*/
/*线路损耗,电压,功率*/
if((a2[2]==1&&R==0)||(a2[2]==2&&R==1))
UN=a2[1];
else
UN=a2[0];
UT=UN;
for(i=0;i
{
qt1=a0[4*i+3]*UT*UT;
QT=QT+qt1;
pt=(PT*PT+QT*QT)*a0[4*i+1]/(UT*UT);
qt=(PT*PT+QT*QT)*a0[4*i+2]/(UT*UT);
ut=(PT*a0[4*i+1]+QT*a0[4*i+2])/UT;
ut1=(PT*a0[4*i+2]-QT*a0[4*i+1])/UT;
UT=UT-ut;
UT=sqrt(UT*UT+ut1*ut1);
qt1=a0[4*i+3]*UT*UT;
PT=PT-pt;
QT=QT-qt+qt1;
}
if(a1[0]==2)
{
if(a2[9]==1)
{
if(R==0)
{
PT=PT-a2[10];
QT=QT-a2[11];
}
else
{
PT=PT-a2[12];
QT=QT-a2[13];
}
}
pt1=GT*UT*UT;
qt1=BT*UT*UT;
PT=PT-pt1;
QT=QT-qt1;
pt=(PT*PT+QT*QT)*RT/(UT*UT);
qt=(PT*PT+QT*QT)*XT/(UT*UT); /*双绕组变压器损耗*/
ut=(PT*RT+QT*XT)/UT; /*电压损耗*/
ut1=(PT*XT-QT*RT)/UT;
UT=UT-ut;
UT=sqrt(UT*UT+ut1*ut1);
PT=PT-pt;
QT=QT-qt; /*双绕组变压器末端S*/
/*判断需不需要迭代*/
printf("PTA=%f UgA=%f\n",PT,Ug);
while(fabs(Ug-UN)>0.0001||fabs(PT-PN)>0.00001||fabs(QT-QN)>0.0001)
{
/*从末向首线路损耗,电压,功率*/
PT=PN;
QT=QN;
pt=(PT*PT+QT*QT)*RT/(UT*UT);
qt=(PT*PT+QT*QT)*XT/(UT*UT); /*双绕组变压器损耗*/
ut=(PT*RT+QT*XT)/UT; /*电压损耗*/
ut1=(PT*XT-QT*RT)/UT;
UT=UT+ut;
UT=sqrt(UT*UT+ut1*ut1);
pt1=GT*UT*UT;
qt1=BT*UT*UT;
PT=PT+pt+pt1;
QT=QT+qt+qt1;
if(a2[9]==1)
{
if(R==0)
{
PT=PT+a2[10];
QT=QT+a2[11];
}
else
{
PT=PT+a2[12];
QT=QT+a2[13];
}
}
/*双绕组变压器首端S*/
for(i=k-1;i>=0;i--)
{
qt1=a0[4*i+3]*UT*UT;
QT=QT-qt1;
pt=(PT*PT+QT*QT)*a0[4*i+1]/(UT*UT);
qt=(PT*PT+QT*QT)*a0[4*i+2]/(UT*UT);
ut=(PT*a0[4*i+1]+QT*a0[4*i+2])/UT;
ut1=(PT*a0[4*i+2]-QT*a0[4*i+1])/UT;
UT=UT+ut;
UT=sqrt(UT*UT+ut1*ut1);
qt1=a0[4*i+3]*UT*UT;
PT=PT+pt;
QT=QT+qt-qt1;
}
Ug=UT;
/*从首向末线路损耗,电压,功率*/
UT=UN;
for(i=0;i
{
qt1=a0[4*i+3]*UT*UT;
QT=QT+qt1;
pt=(PT*PT+QT*QT)*a0[4*i+1]/(UT*UT);
qt=(PT*PT+QT*QT)*a0[4*i+2]/(UT*UT);
ut=(PT*a0[4*i+1]+QT*a0[4*i+2])/UT;
ut1=(PT*a0[4*i+2]-QT*a0[4*i+1])/UT;
UT=UT-ut;
UT=sqrt(UT*UT+ut1*ut1);
qt1=a0[4*i+3]*UT*UT;
PT=PT-pt;
QT=QT-qt+qt1;
}
if(a2[9]==1)
{
if(R==0)
{
PT=PT-a2[10];
QT=QT-a2[11];
}
else
{
PT=PT-a2[12];
QT=QT-a2[13];
}
}
pt1=GT*UT*UT;
qt1=BT*UT*UT;
PT=PT-pt1;
QT=QT-qt1;
pt=(PT*PT+QT*QT)*RT/(UT*UT);
qt=(PT*PT+QT*QT)*XT/(UT*UT); /*双绕组变压器损耗*/
ut=(PT*RT+QT*XT)/UT; /*电压损耗*/
ut1=(PT*XT-QT*RT)/UT;
UT=UT-ut;
UT=sqrt(UT*UT+ut1*ut1);
PT=PT-pt;
QT=QT-qt; /*双绕组变压器末端S*/
}
printf("PT=%f QT=%f Ug=%f UT=%f\n",PT,QT,Ug,UT);
fprintf(fout,"计算末端功率PT=%fMW QT=%fMVA 计算首端电压Ug=%fkV 末端电压UT=%fkV\n",PT,QT,Ug,UT);
fprintf(fout,"额定末端功率PN=%fMW QN=%fMVA 额定首端电压UN=%fkV\n\n",PN,QN,UN);
fprintf(fout,"高压侧分接头 低压侧U(kV) 判断\n",i);
for(i=(int)a1[7];i
{
c=a1[8];
if(i>=0)
c=a1[6];
U=UT*a1[3]/((1+i*c/100)*a1[2]);
if(U>(0.95*a1[4])&&U
fprintf(fout,"%d*%0.2f %f 合格\n",i,c,U);
else
fprintf(fout,"%d*%0.2f %f 不合格\n",i,c,U);
}
}
/*三绕组变压器*/
else
{
if(a2[15]==1)
{
if(R==0)
{
PT=PT-a2[16];
QT=QT-a2[17];
}
else
{
PT=PT-a2[18];
QT=QT-a2[19];
}
}
pt1=GT*UT*UT;
qt1=BT*UT*UT;
PT=PT-pt1;
QT=QT-qt1;
pt=(PT*PT+QT*QT)*RT1/(UT*UT);
qt=(PT*PT+QT*QT)*XT1/(UT*UT); /*高电压变压器损耗*/
ut=(PT*RT1+QT*XT1)/UT; /*高电压损耗*/
ut1=(PT*XT1-QT*RT1)/UT;
UT=UT-ut;
UT=sqrt(UT*UT+ut1*ut1);
PT=PT-pt;
QT=QT-qt; /*中间点电压,功率*/
U1=(UT+sqrt(UT*UT-4*(PN1*RT2+QN1*XT2)))/2; /*中电压末端电压*/
pt=(PN1*PN1+QN1*QN1)*RT2/(U1*U1);
qt=(PN1*PN1+QN1*QN1)*XT2/(U1*U1); /*中电压变压器损耗*/
PT=PT-PN1-pt;
QT=QT-QN1-qt;
pt=(PT*PT+QT*QT)*RT3/(UT*UT);
qt=(PT*PT+QT*QT)*XT3/(UT*UT); /*低电压变压器损耗*/
ut=(PT*RT3+QT*XT3)/UT; /*低电压损耗*/
ut1=(PT*XT3-QT*RT3)/UT;
UT=UT-ut;
UT=sqrt(UT*UT+ut1*ut1);
PT=PT-pt;
QT=QT-qt;/*低电压电压,功率*/
printf("P=%f U=%f\n",PT,Ug);
/*判断需不需要迭代*/
while(fabs(Ug-UN)>0.001||fabs(PT-PN)>0.001||fabs(QT-QN)>0.001)
{
/*从末向首线路损耗,电压,功率*/
PT=PN;
QT=QN;
pt=(PT*PT+QT*QT)*RT3/(UT*UT);
qt=(PT*PT+QT*QT)*XT3/(UT*UT); /*低电压变压器损耗*/
ut=(PT*RT3+QT*XT3)/UT; /*低电压损耗*/
ut1=(PT*XT3-QT*RT3)/UT;
UT=UT+ut; /*中间点电压*/
UT=sqrt(UT*UT+ut1*ut1);
PT=PT+pt;
QT=QT+qt;
pt=(PN1*PN1+QN1*QN1)*RT2/(U1*U1);
qt=(PN1*PN1+QN1*QN1)*XT2/(U1*U1); /*中电压变压器损耗*/
PT=PT+pt+PN1;
QT=QT+qt+QN1;
pt=(PT*PT+QT*QT)*RT1/(UT*UT);
qt=(PT*PT+QT*QT)*XT1/(UT*UT); /*高电压变压器损耗*/
ut=(PT*RT1+QT*XT1)/UT; /*高电压损耗*/
ut1=(PT*XT1-QT*RT1)/UT;
UT=UT+ut;
UT=sqrt(UT*UT+ut1*ut1);
pt1=GT*UT*UT;
qt1=BT*UT*UT;
PT=PT+pt+pt1;
QT=QT+qt+qt1;
if(a2[15]==1)
{
if(R==0)
{
PT=PT+a2[16];
QT=QT+a2[17];
}
else
{
PT=PT+a2[18];
QT=QT+a2[19];
}
} /*三绕组变压器首端S*/
for(i=k-1;i>=0;i--)
{
qt1=a0[4*i+3]*UT*UT;
QT=QT-qt1;
pt=(PT*PT+QT*QT)*a0[4*i+1]/(UT*UT);
qt=(PT*PT+QT*QT)*a0[4*i+2]/(UT*UT);
ut=(PT*a0[4*i+1]+QT*a0[4*i+2])/UT;
ut1=(PT*a0[4*i+2]-QT*a0[4*i+1])/UT;
UT=UT+ut;
UT=sqrt(UT*UT+ut1*ut1);
qt1=a0[4*i+3]*UT*UT;
PT=PT+pt;
QT=QT+qt-qt1;
}
Ug=UT;
/*从首向末线路损耗,电压,功率*/
UT=UN;
for(i=0;i
{
qt1=a0[4*i+3]*UT*UT;
QT=QT+qt1;
pt=(PT*PT+QT*QT)*a0[4*i+1]/(UT*UT);
qt=(PT*PT+QT*QT)*a0[4*i+2]/(UT*UT);
ut=(PT*a0[4*i+1]+QT*a0[4*i+2])/UT;
ut1=(PT*a0[4*i+2]-QT*a0[4*i+1])/UT;
UT=UT-ut;
UT=sqrt(UT*UT+ut1*ut1);
qt1=a0[4*i+3]*UT*UT;
PT=PT-pt;
QT=QT-qt+qt1;
}
if(a2[15]==1)
{
if(R==0)
{
PT=PT-a2[16];
QT=QT-a2[17];
}
else
{
PT=PT-a2[18];
QT=QT-a2[19];
}
}
pt1=GT*UT*UT;
qt1=BT*UT*UT;
PT=PT-pt1;
QT=QT-qt1;
pt=(PT*PT+QT*QT)*RT1/(UT*UT);
qt=(PT*PT+QT*QT)*XT1/(UT*UT); /*高电压变压器损耗*/
ut=(PT*RT1+QT*XT1)/UT; /*高电压损耗*/
ut1=(PT*XT1-QT*RT1)/UT;
UT=UT-ut;
UT=sqrt(UT*UT+ut1*ut1);
PT=PT-pt;
QT=QT-qt; /*中间点电压,功率*/
U1=(UT+sqrt(UT*UT-4*(PN1*RT2+QN1*XT2)))/2; /*中电压末端电压*/
pt=(PN1*PN1+QN1*QN1)*RT2/(U1*U1);
qt=(PN1*PN1+QN1*QN1)*XT2/(U1*U1); /*中电压变压器损耗*/
PT=PT-PN1-pt;
QT=QT-QN1-qt;
pt=(PT*PT+QT*QT)*RT3/(UT*UT);
qt=(PT*PT+QT*QT)*XT3/(UT*UT); /*低电压变压器损耗*/
ut=(PT*RT3+QT*XT3)/UT; /*低电压损耗*/
ut1=(PT*XT3-QT*RT3)/UT;
UT=UT-ut;
UT=sqrt(UT*UT+ut1*ut1
);
PT=PT-pt;
QT=QT-qt;/*低电压电压,功率*/
}
printf("PT=%f QT=%f Ug=%f UT=%f U1=%f\n",PT,QT,Ug,UT,U1);
fprintf(fout,"低压侧计算末端功率PT=%fMW QT=%fMVA 计算首端电压Ug=%fkV 末端低压侧UT=%fkV 末端中压侧U1=%fkV\n",PT,QT,Ug,UT,U1);
fprintf(fout,"低压侧额定末端功率PN=%fMW QN=%fMVA 额定首端电压UN=%fkV\n\n",PN,QN,UN);
if(a1[11]==1)
fprintf(fout,"高压侧分接头 中压侧分接头 中压侧U(kV) 判断 低压侧U2(kV) 判断\n",i);
else
fprintf(fout,"高压侧分接头 中压侧U(kV) 判断 低压侧U2(kV) 判断\n",i);
for(i=(int)a1[9];i
{
c=a1[10];
if(i>=0)
c=a1[8];
if(a1[11]==1)
{
for(m=(int)a1[14];m
{
z=a1[15];
if(m>=0)
z=a1[13];
U=U1*(1+m*z/100)*a1[3]/((1+i*c/100)*a1[2]);
U2=UT*a1[4]/((1+i*c/100)*a1[2]);
if(U>(0.95*a1[5])&&U
{
if(U2>(0.95*a1[6])&&U2
fprintf(fout,"%d*%0.2f %d*%0.2f %f 合格 %f 合格\n",i,c,m,z,U,U2);
else
fprintf(fout,"%d*%0.2f %d*%0.2f %f 合格 %f 不合格\n",i,c,m,z,U,U2);
}
else
{
if(U2>(0.95*a1[6])&&U2
fprintf(fout,"%d*%0.2f %d*%0.2f %f 不合格 %f 合格\n",i,c,m,z,U,U2);
else
fprintf(fout,"%d*%0.2f %d*%0.2f %f 不合格 %f 不合格\n",i,c,m,z,U,U2);
}
}
}
else
{
U=U1*a1[3]/((1+i*c/100)*a1[2]);
U2=UT*a1[4]/((1+i*c/100)*a1[2]);
if(U>(0.95*a1[5])&&U
{
if(U2>(0.95*a1[6])&&U2
fprintf(fout,"%d*%0.2f %f 合格 %f 合格\n",i,c,U,U2);
else
fprintf(fout,"%d*%0.2f %f 合格 %f 不合格\n",i,c,U,U2);
}
else
{
if(U2>(0.95*a1[6])&&U2
fprintf(fout,"%d*%0.2f %f 不合格 %f 合格\n",i,c,U,U2);
else
fprintf(fout,"%d*%0.2f %f 不合格 %f 不合格\n",i,c,U,U2);
}
}
}
}
}
}
#include
#include
void main(void)
{
int k,R,m,i;
float pt,qt,ut,ut1,pt1,qt1,PT,QT,UN,PN,QN,Ug,PN1,U1,QN1,U,U2;
float RT,XT,GT,BT,UT,RT1,RT2,RT3,XT1,XT2,XT3,d;
char p;
float a0[10]; //用来保存L行的数据
float c,z; //临时变量,暂存读取的数据
float a1[30]; //用来保存T行数据
float a2[20]; //用来保存Y行数据
FILE *fp,*fout;
fp=fopen("e:\\tiaoyashuju3.txt","r");
fout=fopen("e:\\1.txt","w");
fscanf(fp,"%c",&p);//读进"L"
fprintf(fout,"%c\n",p);
printf("%c\n",p);
for(i=0; i
{
fscanf(fp,"%f",&c); //连续读取L行数据并存入数组a0[10]中
a0[i]=c;
}
for(i=0; i
{
printf("%f\t",a0[i]);
fprintf(fout,"%f,",a0[i]);
}
printf("\n"); //输出换行符
fprintf(fout,"\n",c);
fscanf(fp,"%c",&p);//读进"T"
printf("%c\n",p);
fprintf(fout,"%c\n",p);
for(i=0; i
{
fscanf(fp,"%f",&c); //连续读取T行数据并存入数组a1[30]中
a1[i]=c;
}
for(i=0; i
{
printf("%f\t",a1[i]);
fprintf(fout,"%0.2f,",a1[i]);
}
printf("\n"); //读进换行符
fprintf(fout,"\n",c);
fscanf(fp,"%c",&p);//读进"Y"
printf("%c\n",p);
fprintf(fout,"%c\n",p);
for(i=0; i
{
fscanf(fp,"%f",&c); //连续读取Y行数据并存入数组a2[20]中
a2[i]=c;
}
for(i=0; i
{
printf("%0.2f\t",a2[i]);
fprintf(fout,"%0.2f,",a2[i]);
}
fprintf(fout,"\n",c);
k=(int)a0[0];
/*归算线路参数*/
for(i=0;i
{
a0[4*i+1]=a0[4*i+4]*a0[4*i+1];
a0[4*i+2]=a0[4*i+4]*a0[4*i+2];
a0[4*i+3]=a0[4*i+4]*a0[4*i+3]/2;
}
if(a1[0]==2)
{
RT=a1[9]*a1[2]*a1[2]/(a1[1]*a1[1]*1000);
XT=a1[10]*a1[2]*a1[2]/(a1[1]*100);
GT=a1[11]/(a1[2]*a1[2]*1000);
BT=a1[12]*a1[1]/(a1[2]*a1[2]*100);
/*双绕组变压器参数*/
}
/*三绕组变压器*/
else
{
if(a1[11]==0)
{
if(a1[21]>=a1[22])
d=a1[22];
else
d=a1[21];
if(a1[23]==1) /*三绕组变压器自耦*/
{
a1[15]=a1[15]*a1[20]/a1[21];
a1[16]=a1[16]*a1[20]/a1[22];
a1[17]=a1[17]*a1[20]/d;
}
a1[12]=a1[12]*a1[20]*a1[20]/(a1[21]*a1[21]);
a1[13]=a1[13]*a1[20]*a1[20]/(a1[22]*a1[22]);
a1[14]=a1[14]*a1[20]*a1[20]/(d*d);
a1[12]=(a1[13]+a1[12]-a1[14])/2;
a1[13]=(a1[12]+a1[14]-a1[13])/2;
a1[14]=(a1[13]+a1[14]-a1[12])/2;
a1[15]=(a1[15]+a1[16]-a1[17])/2;
a1[16]=(a1[15]+a1[17]-a1[16])/2;
a1[17]=(a1[16]+a1[17]-a1[15])/2; /*三绕组变压器P,U的折算*/
RT1=a1[12]*a1[2]*a1[2]/(a1[1]*a1[1]*1000);
RT2=a1[13]*a1[2]*a1[2]/(a1[1]*a1[1]*1000);
RT3=a1[14]*a1[2]*a1[2]/(a1[1]*a1[1]*1000);
XT1=a1[15]*a1[2]*a1[2]/(a1[1]*100);
XT2=a1[16]*a1[2]*a1[2]/(a1[1]*100);
XT3=a1[17]*a1[2]*a1[2]/(a1[1]*100);
GT=a1[18]/(a1[2]*a1[2]*1000);
BT=a1[19]*a1[1]/(a1[2]*a1[2]*100);
}
else
{
if(a1[2
5]>=a1[26])
d=a1[26];
else
d=a1[25];
if(a1[27]==1) /*三绕组变压器自耦*/
{
a1[19]=a1[19]*a1[24]/a1[25];
a1[20]=a1[20]*a1[24]/a1[26];
a1[21]=a1[21]*a1[24]/d;
}
a1[16]=a1[16]*a1[24]*a1[24]/(a1[25]*a1[25]);
a1[17]=a1[17]*a1[24]*a1[24]/(a1[26]*a1[26]);
a1[18]=a1[18]*a1[24]*a1[24]/(d*d);
a1[16]=(a1[16]+a1[17]-a1[18])/2;
a1[17]=(a1[16]+a1[18]-a1[17])/2;
a1[18]=(a1[17]+a1[18]-a1[16])/2;
a1[19]=(a1[19]+a1[20]-a1[21])/2;
a1[20]=(a1[19]+a1[21]-a1[20])/2;
a1[21]=(a1[20]+a1[21]-a1[19])/2; /*三绕组变压器P,U的折算*/
RT1=a1[16]*a1[2]*a1[2]/(a1[1]*a1[1]*1000);
RT2=a1[17]*a1[2]*a1[2]/(a1[1]*a1[1]*1000);
RT3=a1[18]*a1[2]*a1[2]/(a1[1]*a1[1]*1000);
XT1=a1[19]*a1[2]*a1[2]/(a1[1]*100);
XT2=a1[20]*a1[2]*a1[2]/(a1[1]*100);
XT3=a1[21]*a1[2]*a1[2]/(a1[1]*100);
GT=a1[22]/(a1[2]*a1[2]*1000);
BT=a1[23]*a1[1]/(a1[2]*a1[2]*100);
}
}
for(R=0;R
{
if(R==0)
{
if(a1[0]==2)
fprintf(fout,"双绕组变压器\n\n",U);
else
fprintf(fout,"三绕组变压器\n\n",U);
}
if(R==0)
{
PN=a2[3];
QN=a2[4]-a2[5];
}
else
{
PN=a2[6];
QN=a2[7]-a2[8];
}
if(R==0)
{
printf("计算高峰负荷\n");
fprintf(fout,"高峰负荷\n\n",U);
}
else
{
printf("计算低峰负荷\n");
fprintf(fout,"低峰负荷\n\n",U);
}
PT=PN;
QT=QN;
if(a1[0]==2)
{
UT=a1[4]*a1[2]/a1[3];
pt=(PT*PT+QT*QT)*RT/(UT*UT);
qt=(PT*PT+QT*QT)*XT/(UT*UT); /*双绕组变压器损耗*/
ut=(PT*RT+QT*XT)/UT; /*电压损耗*/
ut1=(PT*XT-QT*RT)/UT;
UT=UT+ut;
UT=sqrt(UT*UT+ut1*ut1);
pt1=GT*UT*UT;
qt1=BT*UT*UT;
PT=PT+pt+pt1;
QT=QT+qt+qt1;
if(a2[9]==1)
{
if(R==0)
{
PT=PT+a2[10];
QT=QT+a2[11];
}
else
{
PT=PT+a2[12];
QT=QT+a2[13];
}
}
}
else
{
UT=a1[6]*a1[2]/a1[4];/*取低压侧开始算*/
if(R==0)
{
PN1=a2[9];
QN1=a2[10]-a2[11];
}
else
{
PN1=a2[12];
QN1=a2[13]-a2[14];
}
pt=(PT*PT+QT*QT)*RT3/(UT*UT);
qt=(PT*PT+QT*QT)*XT3/(UT*UT); /*低电压变压器损耗*/
ut=(PT*RT3+QT*XT3)/UT; /*低电压损耗*/
ut1=(PT*XT3-QT*RT3)/UT;
UT=UT+ut;
UT=sqrt(UT*UT+ut1*ut1);/*中间点电压*/
PT=PT+pt;
QT=QT+qt;
U1=(UT+sqrt(UT*UT-4*(PN1*RT2+QN1*XT2)))/2;/*取中压侧开始算*/
pt=(PN1*PN1+QN1*QN1)*RT2/(U1*U1);
qt=(PN1*PN1+QN1*QN1)*XT2/(U1*U1); /*中电压变压器损耗*/
PT=PT+pt+PN1;
QT=QT+qt+QN1; /*中间点功率*/
pt=(PT*PT+QT*QT)*RT1/(UT*UT);
qt=(PT*PT+QT*QT)*XT1/(UT*UT); /*高电压变压器损耗*/
ut=(PT*RT1+QT*XT1)/UT; /*高电压损耗*/
ut1=(PT*XT1-QT*RT1)/UT;
UT=UT+ut;
UT=sqrt(UT*UT+ut1*ut1);
pt1=GT*UT*UT;
qt1=BT*UT*UT;
PT=PT+pt+pt1;
QT=QT+qt+qt1;
if(a2[15]==1)
{
if(R==0)
{
PT=PT+a2[16];
QT=QT+a2[17];
}
else
{
PT=PT+a2[18];
QT=QT+a2[19];
}
} /*三绕组变压器首端S*/
}
/*线路损耗,电压,功率*/
for(i=k-1;i>=0;i--)
{
qt1=a0[4*i+3]*UT*UT;
QT=QT-qt1;
pt=(PT*PT+QT*QT)*a0[4*i+1]/(UT*UT);
qt=(PT*PT+QT*QT)*a0[4*i+2]/(UT*UT);
ut=(PT*a0[4*i+1]+QT*a0[4*i+2])/UT;
ut1=(PT*a0[4*i+2]-QT*a0[4*i+1])/UT;
UT=UT+ut;
UT=sqrt(UT*UT+ut1*ut1);
qt1=a0[4*i+3]*UT*UT;
PT=PT+pt;
QT=QT+qt-qt1;
}
Ug=UT;
/*从首段算*/
/*线路损耗,电压,功率*/
if((a2[2]==1&&R==0)||(a2[2]==2&&R==1))
UN=a2[1];
else
UN=a2[0];
UT=UN;
for(i=0;i
{
qt1=a0[4*i+3]*UT*UT;
QT=QT+qt1;
pt=(PT*PT+QT*QT)*a0[4*i+1]/(UT*UT);
qt=(PT*PT+QT*QT)*a0[4*i+2]/(UT*UT);
ut=(PT*a0[4*i+1]+QT*a0[4*i+2])/UT;
ut1=(PT*a0[4*i+2]-QT*a0[4*i+1])/UT;
UT=UT-ut;
UT=sqrt(UT*UT+ut1*ut1);
qt1=a0[4*i+3]*UT*UT;
PT=PT-pt;
QT=QT-qt+qt1;
}
if(a1[0]==2)
{
if(a2[9]==1)
{
if(R==0)
{
PT=PT-a2[10];
QT=QT-a2[11];
}
else
{
PT=PT-a2[12];
QT=QT-a2[13];
}
}
pt1=GT*UT*UT;
qt1=BT*UT*UT;
PT=PT-pt1;
QT=QT-qt1;
pt=(PT*PT+QT*QT)*RT/(UT*UT);
qt=(PT*PT+QT*QT)*XT/(UT*UT); /*双绕组变压器损耗*/
ut=(PT*RT+QT*XT)/UT; /*电压损耗*/
ut1=(PT*XT-QT*RT)/UT;
UT=UT-ut;
UT=sqrt(UT*UT+ut1*ut1);
PT=PT-pt;
QT=QT-qt; /*双绕组变压器末端S*/
/*判断需不需要迭代*/
printf("PTA=%f UgA=%f\n",PT,Ug);
while(fabs(Ug-UN)>0.0001||fabs(PT-PN)>0.00001||fabs(QT-QN)>0.0001)
{
/*从末向首线路损耗,电压,功率*/
PT=PN;
QT=QN;
pt=(PT*PT+QT*QT)*RT/(UT*UT);
qt=(PT*PT+QT*QT)*XT/(UT*UT); /*双绕组变压器损耗*/
ut=(PT*RT+QT*XT)/UT; /*电压损耗*/
ut1=(PT*XT-QT*RT)/UT;
UT=UT+ut;
UT=sqrt(UT*UT+ut1*ut1);
pt1=GT*UT*UT;
qt1=BT*UT*UT;
PT=PT+pt+pt1;
QT=QT+qt+qt1;
if(a2[9]==1)
{
if(R==0)
{
PT=PT+a2[10];
QT=QT+a2[11];
}
else
{
PT=PT+a2[12];
QT=QT+a2[13];
}
}
/*双绕组变压器首端S*/
for(i=k-1;i>=0;i--)
{
qt1=a0[4*i+3]*UT*UT;
QT=QT-qt1;
pt=(PT*PT+QT*QT)*a0[4*i+1]/(UT*UT);
qt=(PT*PT+QT*QT)*a0[4*i+2]/(UT*UT);
ut=(PT*a0[4*i+1]+QT*a0[4*i+2])/UT;
ut1=(PT*a0[4*i+2]-QT*a0[4*i+1])/UT;
UT=UT+ut;
UT=sqrt(UT*UT+ut1*ut1);
qt1=a0[4*i+3]*UT*UT;
PT=PT+pt;
QT=QT+qt-qt1;
}
Ug=UT;
/*从首向末线路损耗,电压,功率*/
UT=UN;
for(i=0;i
{
qt1=a0[4*i+3]*UT*UT;
QT=QT+qt1;
pt=(PT*PT+QT*QT)*a0[4*i+1]/(UT*UT);
qt=(PT*PT+QT*QT)*a0[4*i+2]/(UT*UT);
ut=(PT*a0[4*i+1]+QT*a0[4*i+2])/UT;
ut1=(PT*a0[4*i+2]-QT*a0[4*i+1])/UT;
UT=UT-ut;
UT=sqrt(UT*UT+ut1*ut1);
qt1=a0[4*i+3]*UT*UT;
PT=PT-pt;
QT=QT-qt+qt1;
}
if(a2[9]==1)
{
if(R==0)
{
PT=PT-a2[10];
QT=QT-a2[11];
}
else
{
PT=PT-a2[12];
QT=QT-a2[13];
}
}
pt1=GT*UT*UT;
qt1=BT*UT*UT;
PT=PT-pt1;
QT=QT-qt1;
pt=(PT*PT+QT*QT)*RT/(UT*UT);
qt=(PT*PT+QT*QT)*XT/(UT*UT); /*双绕组变压器损耗*/
ut=(PT*RT+QT*XT)/UT; /*电压损耗*/
ut1=(PT*XT-QT*RT)/UT;
UT=UT-ut;
UT=sqrt(UT*UT+ut1*ut1);
PT=PT-pt;
QT=QT-qt; /*双绕组变压器末端S*/
}
printf("PT=%f QT=%f Ug=%f UT=%f\n",PT,QT,Ug,UT);
fprintf(fout,"计算末端功率PT=%fMW QT=%fMVA 计算首端电压Ug=%fkV 末端电压UT=%fkV\n",PT,QT,Ug,UT);
fprintf(fout,"额定末端功率PN=%fMW QN=%fMVA 额定首端电压UN=%fkV\n\n",PN,QN,UN);
fprintf(fout,"高压侧分接头 低压侧U(kV) 判断\n",i);
for(i=(int)a1[7];i
{
c=a1[8];
if(i>=0)
c=a1[6];
U=UT*a1[3]/((1+i*c/100)*a1[2]);
if(U>(0.95*a1[4])&&U
fprintf(fout,"%d*%0.2f %f 合格\n",i,c,U);
else
fprintf(fout,"%d*%0.2f %f 不合格\n",i,c,U);
}
}
/*三绕组变压器*/
else
{
if(a2[15]==1)
{
if(R==0)
{
PT=PT-a2[16];
QT=QT-a2[17];
}
else
{
PT=PT-a2[18];
QT=QT-a2[19];
}
}
pt1=GT*UT*UT;
qt1=BT*UT*UT;
PT=PT-pt1;
QT=QT-qt1;
pt=(PT*PT+QT*QT)*RT1/(UT*UT);
qt=(PT*PT+QT*QT)*XT1/(UT*UT); /*高电压变压器损耗*/
ut=(PT*RT1+QT*XT1)/UT; /*高电压损耗*/
ut1=(PT*XT1-QT*RT1)/UT;
UT=UT-ut;
UT=sqrt(UT*UT+ut1*ut1);
PT=PT-pt;
QT=QT-qt; /*中间点电压,功率*/
U1=(UT+sqrt(UT*UT-4*(PN1*RT2+QN1*XT2)))/2; /*中电压末端电压*/
pt=(PN1*PN1+QN1*QN1)*RT2/(U1*U1);
qt=(PN1*PN1+QN1*QN1)*XT2/(U1*U1); /*中电压变压器损耗*/
PT=PT-PN1-pt;
QT=QT-QN1-qt;
pt=(PT*PT+QT*QT)*RT3/(UT*UT);
qt=(PT*PT+QT*QT)*XT3/(UT*UT); /*低电压变压器损耗*/
ut=(PT*RT3+QT*XT3)/UT; /*低电压损耗*/
ut1=(PT*XT3-QT*RT3)/UT;
UT=UT-ut;
UT=sqrt(UT*UT+ut1*ut1);
PT=PT-pt;
QT=QT-qt;/*低电压电压,功率*/
printf("P=%f U=%f\n",PT,Ug);
/*判断需不需要迭代*/
while(fabs(Ug-UN)>0.001||fabs(PT-PN)>0.001||fabs(QT-QN)>0.001)
{
/*从末向首线路损耗,电压,功率*/
PT=PN;
QT=QN;
pt=(PT*PT+QT*QT)*RT3/(UT*UT);
qt=(PT*PT+QT*QT)*XT3/(UT*UT); /*低电压变压器损耗*/
ut=(PT*RT3+QT*XT3)/UT; /*低电压损耗*/
ut1=(PT*XT3-QT*RT3)/UT;
UT=UT+ut; /*中间点电压*/
UT=sqrt(UT*UT+ut1*ut1);
PT=PT+pt;
QT=QT+qt;
pt=(PN1*PN1+QN1*QN1)*RT2/(U1*U1);
qt=(PN1*PN1+QN1*QN1)*XT2/(U1*U1); /*中电压变压器损耗*/
PT=PT+pt+PN1;
QT=QT+qt+QN1;
pt=(PT*PT+QT*QT)*RT1/(UT*UT);
qt=(PT*PT+QT*QT)*XT1/(UT*UT); /*高电压变压器损耗*/
ut=(PT*RT1+QT*XT1)/UT; /*高电压损耗*/
ut1=(PT*XT1-QT*RT1)/UT;
UT=UT+ut;
UT=sqrt(UT*UT+ut1*ut1);
pt1=GT*UT*UT;
qt1=BT*UT*UT;
PT=PT+pt+pt1;
QT=QT+qt+qt1;
if(a2[15]==1)
{
if(R==0)
{
PT=PT+a2[16];
QT=QT+a2[17];
}
else
{
PT=PT+a2[18];
QT=QT+a2[19];
}
} /*三绕组变压器首端S*/
for(i=k-1;i>=0;i--)
{
qt1=a0[4*i+3]*UT*UT;
QT=QT-qt1;
pt=(PT*PT+QT*QT)*a0[4*i+1]/(UT*UT);
qt=(PT*PT+QT*QT)*a0[4*i+2]/(UT*UT);
ut=(PT*a0[4*i+1]+QT*a0[4*i+2])/UT;
ut1=(PT*a0[4*i+2]-QT*a0[4*i+1])/UT;
UT=UT+ut;
UT=sqrt(UT*UT+ut1*ut1);
qt1=a0[4*i+3]*UT*UT;
PT=PT+pt;
QT=QT+qt-qt1;
}
Ug=UT;
/*从首向末线路损耗,电压,功率*/
UT=UN;
for(i=0;i
{
qt1=a0[4*i+3]*UT*UT;
QT=QT+qt1;
pt=(PT*PT+QT*QT)*a0[4*i+1]/(UT*UT);
qt=(PT*PT+QT*QT)*a0[4*i+2]/(UT*UT);
ut=(PT*a0[4*i+1]+QT*a0[4*i+2])/UT;
ut1=(PT*a0[4*i+2]-QT*a0[4*i+1])/UT;
UT=UT-ut;
UT=sqrt(UT*UT+ut1*ut1);
qt1=a0[4*i+3]*UT*UT;
PT=PT-pt;
QT=QT-qt+qt1;
}
if(a2[15]==1)
{
if(R==0)
{
PT=PT-a2[16];
QT=QT-a2[17];
}
else
{
PT=PT-a2[18];
QT=QT-a2[19];
}
}
pt1=GT*UT*UT;
qt1=BT*UT*UT;
PT=PT-pt1;
QT=QT-qt1;
pt=(PT*PT+QT*QT)*RT1/(UT*UT);
qt=(PT*PT+QT*QT)*XT1/(UT*UT); /*高电压变压器损耗*/
ut=(PT*RT1+QT*XT1)/UT; /*高电压损耗*/
ut1=(PT*XT1-QT*RT1)/UT;
UT=UT-ut;
UT=sqrt(UT*UT+ut1*ut1);
PT=PT-pt;
QT=QT-qt; /*中间点电压,功率*/
U1=(UT+sqrt(UT*UT-4*(PN1*RT2+QN1*XT2)))/2; /*中电压末端电压*/
pt=(PN1*PN1+QN1*QN1)*RT2/(U1*U1);
qt=(PN1*PN1+QN1*QN1)*XT2/(U1*U1); /*中电压变压器损耗*/
PT=PT-PN1-pt;
QT=QT-QN1-qt;
pt=(PT*PT+QT*QT)*RT3/(UT*UT);
qt=(PT*PT+QT*QT)*XT3/(UT*UT); /*低电压变压器损耗*/
ut=(PT*RT3+QT*XT3)/UT; /*低电压损耗*/
ut1=(PT*XT3-QT*RT3)/UT;
UT=UT-ut;
UT=sqrt(UT*UT+ut1*ut1
);
PT=PT-pt;
QT=QT-qt;/*低电压电压,功率*/
}
printf("PT=%f QT=%f Ug=%f UT=%f U1=%f\n",PT,QT,Ug,UT,U1);
fprintf(fout,"低压侧计算末端功率PT=%fMW QT=%fMVA 计算首端电压Ug=%fkV 末端低压侧UT=%fkV 末端中压侧U1=%fkV\n",PT,QT,Ug,UT,U1);
fprintf(fout,"低压侧额定末端功率PN=%fMW QN=%fMVA 额定首端电压UN=%fkV\n\n",PN,QN,UN);
if(a1[11]==1)
fprintf(fout,"高压侧分接头 中压侧分接头 中压侧U(kV) 判断 低压侧U2(kV) 判断\n",i);
else
fprintf(fout,"高压侧分接头 中压侧U(kV) 判断 低压侧U2(kV) 判断\n",i);
for(i=(int)a1[9];i
{
c=a1[10];
if(i>=0)
c=a1[8];
if(a1[11]==1)
{
for(m=(int)a1[14];m
{
z=a1[15];
if(m>=0)
z=a1[13];
U=U1*(1+m*z/100)*a1[3]/((1+i*c/100)*a1[2]);
U2=UT*a1[4]/((1+i*c/100)*a1[2]);
if(U>(0.95*a1[5])&&U
{
if(U2>(0.95*a1[6])&&U2
fprintf(fout,"%d*%0.2f %d*%0.2f %f 合格 %f 合格\n",i,c,m,z,U,U2);
else
fprintf(fout,"%d*%0.2f %d*%0.2f %f 合格 %f 不合格\n",i,c,m,z,U,U2);
}
else
{
if(U2>(0.95*a1[6])&&U2
fprintf(fout,"%d*%0.2f %d*%0.2f %f 不合格 %f 合格\n",i,c,m,z,U,U2);
else
fprintf(fout,"%d*%0.2f %d*%0.2f %f 不合格 %f 不合格\n",i,c,m,z,U,U2);
}
}
}
else
{
U=U1*a1[3]/((1+i*c/100)*a1[2]);
U2=UT*a1[4]/((1+i*c/100)*a1[2]);
if(U>(0.95*a1[5])&&U
{
if(U2>(0.95*a1[6])&&U2
fprintf(fout,"%d*%0.2f %f 合格 %f 合格\n",i,c,U,U2);
else
fprintf(fout,"%d*%0.2f %f 合格 %f 不合格\n",i,c,U,U2);
}
else
{
if(U2>(0.95*a1[6])&&U2
fprintf(fout,"%d*%0.2f %f 不合格 %f 合格\n",i,c,U,U2);
else
fprintf(fout,"%d*%0.2f %f 不合格 %f 不合格\n",i,c,U,U2);
}
}
}
}
}
}