把一个简单的c语言程序转换为c++(不到40行)

来源:百度知道 编辑:UC知道 时间:2024/06/07 15:56:59
下面的程序是用c编写的 希望帮我把它用c++写,数据过程不变
#include <math.h>
#include <stdio.h>
main()
{float N=0,z[7],V0=0,V1=1,V,L,SX,x[7],y[7];
float k[7]={100,17,5.2,2.4,0.8,0.23,0.018};
float n[7]={1.61875,0.22,0.27955,0.21379,0.17222,0.19186,1.93623};
int i,j,m,t;
for(i=0;i<7;i++)
N=N+n[i];
for(i=0;i<7;i++)
for(j=0;j<7;j++)
z[j]=n[j]/N;
printf("C1-C7各组分的摩尔含量为:\n");
for(i=0;i<7;i++)
printf("%f\n",z[i]);
for(i=0; ;i++)
{SX=0;
V=(V0+V1)/2;
L=1-V;
for(m=0;m<7;m++)
{
x[m]=z[m]/(L+k[m]*V);
SX=SX+x[m];
}
if(fabs(SX-1)<=0.0005)
break;
else if((SX-1)>0.0005)
V1=V;
else V0=V;}
for(t=0;t<7;t++)
y[t]=k[t]*x[t];
printf("气液相摩尔分数为:\n");
printf("V=%f\nL=%f\n",V,L);
printf("各组分在液相中的摩尔分数为:\n");
for(i=0;i<7;i++)
printf("%f\n

#include <cmath>
#include <iostream>
using namespace std;
int main()
{
float N=0,z[7],V0=0,V1=1,V,L,SX,x[7],y[7];
float k[7]={100,17,5.2,2.4,0.8,0.23,0.018};
float n[7]={1.61875,0.22,0.27955,0.21379,0.17222,0.19186,1.93623};
int i,j,m,t;
for(i=0;i<7;i++)
N=N+n[i];
for(i=0;i<7;i++)
for(j=0;j<7;j++)
z[j]=n[j]/N;
cout<<"C1-C7各组分的摩尔含量为:"<<endl;
for(i=0;i<7;i++)
cout<<z[i]<<endl;
for(i=0; ;i++)
{
SX=0;
V=(V0+V1)/2;
L=1-V;
for(m=0;m<7;m++)
{
x[m]=z[m]/(L+k[m]*V);
SX=SX+x[m];
}
if(fabs(SX-1)<=0.0005)
break;
else if((SX-1)>0.0005)
V1=V;
else V0=V;
}
for(t=0;t<7;t++)
y[t]=k[t]*x[t];
cout<<"气液相摩尔分数为:\n";
cout<<V&l