急!!請C程式高手幫我把C++翻譯成C語言!!
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
int main()
{
float n[3][4]={0.},m[3]={0.},d[3]={0.},x,y,z;
int a,b,c;
cout<<"請依照"<<"\n"<<"A1x+B1y+C1z=D1\n"<<"A2x+B2y+C2z=D2\n"<<"A3x+B3y+C3z=D3\n"<<"依次輸入A1,B1,C1,D1,A2,B2....."<<"\n";
for(a=0;a<3;a++)
{
for(b=0;b<4;b++)
cin>>n[a][b];
}
cout<<n[0][0]<<"x+"<<n[0][1]<<"y+"<<n[0][2]<<"z="<<n[0][3]<<"\n";
cout<<n[1][0]<<"x+"<<n[1][1]<<"y+"<<n[1][2]<<"z="<<n[1][3]<<"\n";
cout<<n[2][0]<<"x+"<<n[2][1]<<"y+"<<n[2][2]<<"z="<<n[2][3]<<"\n";
a=n[0][0]*(n[1][1]*n[2][2]-n[1][2]*n[2][1])
-n[0][1]*(n[1][0]*n[2][2]-n[1][2]*n[2][0])
+n[0][2]*(n[1][0]*n[2][1]-n[1][1]*n[2][0]);
if (a!=0)
{
for(b=0;b<=2;b++)
{
for(c=0;c<=2;c++)
{
d[c]=n[c][b];
n[c][b]=n[c][3];
}
m[b]=n[0][0]*(n[1][1]*n[2][2]-n[1][2]*n[2][1])
-n[0][1]*(n[1][0]*n[2][2]-n[1][2]*n[2][0])
+n[0][2]*(n[1][0]*n[2][1]-n[1][1]*n[2][0]);
for(c=0;c<=2;c++)
{ n[c][b]=d[c]; }
}
x=m[0]/a;
y=m[1]/a;
z=m[2]/a;
cout<<"x="<<x<<"\n";
cout<<"y="<<y<<"\n";
cout<<"z="<<z<<"\n";
}
else cout<<"此方程式非唯一解或無解"<<"\n";
cout<<"over"<<" \n";
system("PAUSE");
return 0;
}
請把全部翻譯成C語言!!
並請順便講解一下!!麻煩!!
1 個解答
- 1 0 年前最佳解答
把這程式改成C:
cin>>陣列 ==> scanf("資料型態",&陣列);
cout<<"輸出內容"<<輸出值 , 改成printf("輸出內容+資料型態",輸出值);
其他幾乎沒什麼改變
頂多用不到的using namespace std;刪掉
#include <stdio.h>
#include <stdlib.h>
void main()
{
float n[3][4]={0.},m[3]={0.},d[3]={0.},x,y,z;
int a,b,c;
printf("請依照\nA1x+B1y+C1z=D1\nA2x+B2y+C2z=D2\nA3x+B3y+C3z=D3\n依次輸入A1,B1,C1,D1,A2,B2.....\n");
for(a=0;a<3;a++)
{
for(b=0;b<4;b++)
scanf("%f",&n[a][b]);
}
printf("%.0fx+%.0fy+%.0fz=%.0f\n",n[0][0],n[0][1],n[0][2],n[0][3]);
printf("%.0fx+%.0fy+%.0fz=%.0f\n",n[1][0],n[1][1],n[1][2],n[1][3]);
printf("%.0fx+%.0fy+%.0fz=%.0f\n",n[2][0],n[2][1],n[2][2],n[2][3]);
a=n[0][0]*(n[1][1]*n[2][2]-n[1][2]*n[2][1])
-n[0][1]*(n[1][0]*n[2][2]-n[1][2]*n[2][0])
+n[0][2]*(n[1][0]*n[2][1]-n[1][1]*n[2][0]);
if (a!=0)
{
for(b=0;b<=2;b++)
{
for(c=0;c<=2;c++)
{
d[c]=n[c][b];
n[c][b]=n[c][3];
}
m[b]=n[0][0]*(n[1][1]*n[2][2]-n[1][2]*n[2][1])
-n[0][1]*(n[1][0]*n[2][2]-n[1][2]*n[2][0])
+n[0][2]*(n[1][0]*n[2][1]-n[1][1]*n[2][0]);
for(c=0;c<=2;c++)
{ n[c][b]=d[c]; }
}
x=m[0]/a;
y=m[1]/a;
z=m[2]/a;
printf("x=%f\n",x);
printf("y=%f\n",y);
printf("z=%f\n",z);
}
else
printf("此方程式非唯一解或無解\n");
printf("over\n");
system("PAUSE");
}
參考資料: 自己