把c++代码转成c代码

#include<iostream>#include<cmath>usingnamespacestd;intmain(){doublee(0),f(0),h(0),g(0... #include <iostream>
#include <cmath>
using namespace std;
int main()
{
double e(0),f(0),h(0),g(0);
int kk;
double A[3][4];
for(int j=0;j<=2;j++)
{
cout<<"请逐次输入第"<<(j+1)<<"个方程未知数X1,X2,X3的系数和常数:"<<endl;
cin>>A[j][0]>>A[j][1]>>A[j][2]>>A[j][3];
}
cout<<"这个方程组是:"<<endl;
for(int k=0;k<=2;k++)
{
cout<<A[k][0]<<"×X1+"<<A[k][1]<<"×X2+"<<A[k][2]<<"×X3="<<A[k][3]<<endl;
}
for(int l=0;l<=2;l++)
{
e=fabs(A[l][0]);
if(e>=f)
{f=e;kk=l;}
}
if(f==0)
{
cout<<"false"<<endl;
return(0);
}
else
{
for(int jj=0;jj<=3;jj++)
{
g=A[0][jj];A[0][jj]=A[kk][jj];A[kk][jj]=g;
}
double C[4];
for(int jjj=0;jjj<=3;jjj++)
{
C[jjj]=A[0][jjj]/A[0][0];
}
for(int kk=1;kk<=2;kk++)
{
for(int kkk=3;kkk>=0;kkk--)
{
A[kk][kkk]=A[kk][kkk]-C[kkk]*A[kk][0];
}
}
double ff,p;
int ggg;
if(fabs(A[1][1])>fabs(A[2][1]))
{ggg=1;ff=fabs(A[1][1]);}
else
{ggg=2;ff=fabs(A[2][1]);}
if(ff==0)
{cout<<"false"<<endl;
return(0);
}
else
{
for(int m=0;m<=3;m++)
{
p=A[1][m];A[1][m]=A[ggg][m];A[ggg][m]=p;
}
double D[3];
for(int cc=1;cc<=3;cc++)
{
D[cc]=A[1][cc]/A[1][1];
}
for(int s=3;s>=1;s--)
{
A[2][s]=A[2][s]-D[s]*A[2][1];
}
}
}
double x1,x2,x3;
x3=A[2][3]/A[2][2];
x2=(A[1][3]-A[1][2]*x3)/A[1][1];
x1=(A[0][3]-A[0][1]*x2-A[0][2]*x3)/A[0][0];
cout<<"这个方程组的解为:("<<x1<<","<<x2<<","<<x3<<")"<<endl;
}
高手请进啊。要完整的修改好的代码
展开
 我来答
叶之所思
2009-12-24 · TA获得超过101个赞
知道小有建树答主
回答量:73
采纳率:0%
帮助的人:96.6万
展开全部
#include <stdio.h>//#include <iostream>

//using namespace std;

#include <math.h>//#include <cmath>
int main()
{
double e=0,f=0,h=0,g=0;//double e(0),f(0),h(0),g(0);
double A[3][4];
int j=0,k=0,l=0,jj=0,jjj=0,kk=0,kkk=0,m=0,cc=0,s=0,ggg;
double C[4],D[3],x1,x2,x3;
double ff,p;
for(j=0;j<=2;j++)//for(int j=0;j<=2;j++)在C语言中不能在循环中定义局部变量必须在前面定义
{
printf("请逐次输入第%d个方程未知数X1,X2,X3的系数和常数:\n",j+1);
//cout<<"请逐次输入第"<<(j+1)<<"个方程未知数X1,X2,X3的系数和常数:"<<endl;
scanf("%lf%lf%lf%lf",&A[j][0],&A[j][1],&A[j][2],&A[j][3]);
//cin>>A[j][0]>>A[j][1]>>A[j][2]>>A[j][3];
}
printf("这个方程组是:\n");//cout<<"这个方程组是:\n"<<endl;

for(k=0;k<=2;k++)
{
printf("%.2lf×X1+%.2lf×X2+%.2lf×X3=%.2lf\n",A[k][0],A[k][1],A[k][2],A[k][3]);
//只保留了小数点后两位数你也可以再增加
//cout<<A[k][0]<<"×X1+"<<A[k][1]<<"×X2+"<<A[k][2]<<"×X3="<<A[k][3]<<endl;
}
for(l=0;l<=2;l++)
{
e=fabs(A[l][0]);
if(e>=f)
{f=e;kk=l;}
}
if(f==0)
{
printf("false\n");//cout<<"false"<<endl;
return(0);
}
else
{
for(jj=0;jj<=3;jj++)
{
g=A[0][jj];A[0][jj]=A[kk][jj];A[kk][jj]=g;
}
//double C[4];在C语言中只能在最前面定义变量
for(jjj=0;jjj<=3;jjj++)
{
C[jjj]=A[0][jjj]/A[0][0];
}
for(kk=1;kk<=2;kk++)
{
for( kkk=3;kkk>=0;kkk--)
{
A[kk][kkk]=A[kk][kkk]-C[kkk]*A[kk][0];
}
}
//double ff,p;在C语言中只能在最前面定义变量
//int ggg;在C语言中只能在最前面定义变量
if(fabs(A[1][1])>fabs(A[2][1]))
{ggg=1;ff=fabs(A[1][1]);}
else
{ggg=2;ff=fabs(A[2][1]);}
if(ff==0)
{
printf("false\n");//cout<<"false"<<endl;
return(0);
}
else
{
for(m=0;m<=3;m++)
{
p=A[1][m];A[1][m]=A[ggg][m];A[ggg][m]=p;
}
//double D[3];在C语言中只能在最前面定义变量
for(cc=1;cc<=3;cc++)
{
D[cc]=A[1][cc]/A[1][1];
}
for(s=3;s>=1;s--)
{
A[2][s]=A[2][s]-D[s]*A[2][1];
}
}
}
//double x1,x2,x3;在C语言中只能在最前面定义变量
x3=A[2][3]/A[2][2];
x2=(A[1][3]-A[1][2]*x3)/A[1][1];
x1=(A[0][3]-A[0][1]*x2-A[0][2]*x3)/A[0][0];
printf("这个方程组的解为:(%.2lf,%.2lf,%.2lf)\n",x1,x2,x3);
//cout<<"这个方程组的解为:("<<x1<<","<<x2<<","<<x3<<")"<<endl;
return 0;
}
//VC6.0运行没问题
wdytoya
2009-12-23 · TA获得超过1078个赞
知道小有建树答主
回答量:243
采纳率:0%
帮助的人:234万
展开全部
C++和C的语法其实差不多的,要改动的一般只有预编译部分和输入输出部分
比如说
#include <iostream>
#include <cmath>
using namespace std;
改成
#include <stdio.h>
#include <math.h>
cin用scanf替换,cout用printf替换即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
六仙康初
2020-02-28 · TA获得超过3690个赞
知道大有可为答主
回答量:3044
采纳率:29%
帮助的人:164万
展开全部
#include
"stdio.h"#include
"string.h"#include
"stdlib.h"struct
CityHouse{
char
cityName[50];
int
houseSum;
int
familySum;
double
housePar;};
void
init(char
a[],
int
h,
int
f,struct
CityHouse
&num){
strcpy(num.cityName,a);
num.houseSum
=
h;
num.familySum
=
f;
num.housePar
=
h
/
f;}
int
main
(int
agrc,
char
**agrv
){
int
m,
n,
i,
j;
struct
CityHouse
cityArray[10];
struct
CityHouse
temp;
init("北京",10000,3000,cityArray[0]);
init("上海",20000,6000,cityArray[1]);
init("天津",30000,7000,cityArray[2]);
init("深圳",40000,8000,cityArray[3]);
init("广州",14000,4000,cityArray[4]);
init("武汉",13000,8000,cityArray[5]);
init("成都",10400,9000,cityArray[6]);
init("杭州",13400,2000,cityArray[7]);
init("沈阳",10200,4000,cityArray[8]);
init("长沙",17000,2000,cityArray[9]);
for(m
=
0;
m
<
10;
m++)

for(n
=
0;
n
<
9;
n++)

if(cityArray[n].housePar
>=
cityArray[n+1].housePar)

{

temp
=
cityArray[n];

cityArray[n]
=
cityArray[n+1];

cityArray[n+1]
=
temp;

}
for(i
=
0;
i
<
10;
i++)
{

printf("%s
%d
%d
%.3lf\n",
cityArray[i].cityName,

cityArray[i].houseSum,
cityArray[i].familySum,
cityArray[i].housePar);
}
return
0;}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
飞羡僧邵
2019-02-23 · TA获得超过3644个赞
知道大有可为答主
回答量:3046
采纳率:33%
帮助的人:220万
展开全部
不行,C++是面像对象的,
要是真的转的话,那已经不是转了,相当于重新写一个C语言程序,实现上面C++程序的功能而已~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
户顺闪代桃
2020-03-10 · TA获得超过3731个赞
知道大有可为答主
回答量:3068
采纳率:33%
帮助的人:419万
展开全部
???不是说C代码能在C++上通用的吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式