Can';我搞不懂printf语句
高斯乔丹3x4 用户输入12个值 此代码的目的是使用高斯-乔丹方法将矩阵简化为 简化梯队形式 所以基本上我正在尝试编写和调试一个gauss-jordan算法,但是我被printf语句的去向所困扰。我想在运行输出中标记我的步骤1-12,但运行此操作时,一切似乎都不合适: [![在此处输入图像描述][1][1] *我还特意在代码中省略了步骤1、4、9,因为它们与我正在应用算法的情况无关,抱歉,如果这会造成混乱 谢谢你的帮助和建议谢谢Can';我搞不懂printf语句,c,loops,matrix,printf,C,Loops,Matrix,Printf,高斯乔丹3x4 用户输入12个值 此代码的目的是使用高斯-乔丹方法将矩阵简化为 简化梯队形式 所以基本上我正在尝试编写和调试一个gauss-jordan算法,但是我被printf语句的去向所困扰。我想在运行输出中标记我的步骤1-12,但运行此操作时,一切似乎都不合适: [![在此处输入图像描述][1][1] *我还特意在代码中省略了步骤1、4、9,因为它们与我正在应用算法的情况无关,抱歉,如果这会造成混乱 谢谢你的帮助和建议谢谢 #include <stdio.h> int mai
#include <stdio.h>
int main(void) {
int i,j,z,m;
//coefficent array
double a[3][3];
//constant value array
double b[3];
//augmented array
double c[3][4];
//solution array
double x[3];
//prompt user input and store coefficients and constants in seperate matrices
printf("Input coefficients of equations\n");
for (i=0; i<3; i++){
for (j=0; j<3; j++){
scanf("%lf", &a[i][j]);
}
}
printf("Input constant values\n");
for (i=0; i<3; i++){
scanf("%lf",&b[i]);
}
//create augmented matrix
for (i=0; i<3; i++){
for(j=0; j<3; j++){
c[i][j]=a[i][j];
}
}
for (i=0; i<3; i++){
c[i][3]=b[i];
}
printf("Augmented matrix:\n");
//print loop
for (i=0; i<3; i++){
for (j=0; j<4; j++){
printf("%.2lf\t",c[i][j]);
}
printf("\n");
}
/*z=0 step 2,3,4
z=1 step 6,7,8
z=2 step 10,11,12
if m!=z, do steps 3,4 7,8 11,12
if m==z, do steps 2,6,10
*/
for (z=0; z<3; z++){
for (m=0; m<3; m++){
if(m==z){
//STEP 2,6,10
double step2 = c[z][z];
for (j=0; j<4; j++){
c[z][j]=c[z][j]/step2;
}
if(z==0){
printf("Step 2:\n");
}
if(z==1){
printf("Step 6:\n");
}
if(z==2){
printf("Step 10:\n");
}
//print loop
for (i=0; i<3; i++){
for (j=0; j<4; j++){
printf("%.2lf\t",c[i][j]);
}
printf("\n");
}
}
if(m!=z){
//STEP 3,7,11
double step3 = c[m][z];
for (j=0; j<4; j++){
c[m][j]=c[m][j]-(step3*c[z][j]);
}
if(z==0&&m==1){
printf("Step 3:\n");
}
if(z==1&&m==2){
printf("Step 7:\n");
}
if(z==2&&m==1){
printf("Step 11:\n");
}
//print loop
for (i=0; i<3; i++){
for (j=0; j<4; j++){
printf("%.2lf\t",c[i][j]);
}
printf("\n");
}
//STEP 4,8,12
double step4= c[m][z];
for (j=0; j<4; j++){
c[m][j]=c[m][j]-(step4*c[z][j]);
}
if(z==0&&m==2){
printf("Step 4:\n");
}
if(z==1&&m==0){
printf("Step 8:\n");
}
if(z==2&&m==0){
printf("Step 12:\n");
}
//print loop
for (i=0; i<3; i++){
for (j=0; j<4; j++){
printf("%.2lf\t",c[i][j]);
}
printf("\n");
}
}
}
}
printf("Solution:\n");
for (i=0; i<3; i++){
x[i]= c[i][3];
}
for (j=1; j<=3; j++){
printf("x[%i]=%.2lf\n",j,x[j-1]);
}
return 0;
}
[1]: https://i.stack.imgur.com/Z0ZvZ.png
#包括
内部主(空){
int i,j,z,m;
//系数阵
双a[3][3];
//定值数组
双b[3];
//扩充阵列
双c[3][4];
//溶液阵列
双x[3];
//提示用户输入并将系数和常数存储在单独的矩阵中
printf(“方程的输入系数”);
对于(i=0;i)您的图像链接似乎无效。我已努力将其正确发布,但找不到该图像。