c语言,编辑一个程序,输入一个三阶矩阵,存入数组,判断矩阵的行和、列和、对角和是否相等。

# include & ltstdio.h & gt

#定义?n?三

#定义?m?三

int?abs(浮动?x)

{

if(x & lt;0.0f)?回归?-x;

不然呢?回归?x;

}

int?主()

{

浮动?M[N][M];

浮动?sumr[N]={0.0f},?sumc[M]={0.0f},diag[N]={0.0f},sumd=0.0f,sumd2 = 0.0f?//

int?I,j;

printf("输入?%d?*?%d?矩阵?:\n ",?N,N);

//创建?然后呢。计算?总数

为了什么?(我?=?0;?我?& lt?n;?++i)

{

为了什么?(j=?0;?j?& lt?m;?++j)

{

scanf("%f ",& ampm[I][j]);

sumr[i]?+=?m[I][j];//sum?的?行

sumc[j]?+=?m[I][j];//sum?的?列

if(i==j)?诊断[i]?+= m[I][j];//对角线?元素

}

}

//打印?

int?flag = 1;?//?

printf("sum?的?rows \ n ");

为了什么?(我?=?0;?我?& lt?n;?++i)

{

printf("%7.2f\n ",sumr[I]);

如果(旗帜?& amp& amp?我& ltN-1)?

旗帜?=?旗帜& amp& amp(ABS(sumr[I+1]-sumr[I])& lt;1e-10);

}

printf("\nsum?的?列:\ n ");

为了什么?(j?=?0;?j?& lt?m;?++j)

{

printf("%7.2f ",sumc[j]);

如果(旗帜?& amp& amp?j & ltM-1)?

旗帜?=?旗帜& amp& amp(ABS(sumc[j+1]-sumc[j])& lt;1e-10);

}

printf(" \ n对角线?元素:\ n ");

const?int?k?=?(N & ltm)?n:M;

为了什么?(我?=?0;?我?& lt?k;?++i)

{

printf("%7.2f ",diag[I]);

sumd?+= diag[I];

}

printf(" \ t-& gt;总和:“);

printf("%7.2f\n ",sumd);

//反转?斜的

printf(" \ n反转?对角线:\ n ");

为了什么?(我?=?k-1;?我?& gt=0;?-我)

{

printf("%7.2f ",m[K-I-1][I]);

sumd2?+= m[K-I-1][I];

}

printf(" \ t-& gt;总和:“);

printf("%7.2f\n ",sum D2);

如果?(旗帜?& amp& amp?ABS(sumc[M-1]-sumd)& lt;1e-10?& amp& amp?ABS(sumc[M-1]-sum D2)& lt;1e-10)

?旗帜?=?1;

不然呢?旗帜?=?0;

if(标志)

printf(" \ n?答?魔法?矩阵!?\ n ");

其他

printf("\nNOT?答?魔法?矩阵!?\ n ");

回归?0;

}

/*结果:

输入?3?*?3?矩阵?:

8?1?六

3?5?七

4?9?2

sum?的?行

15.00

15.00

15.00

sum?的?列:

15.00?15.00?15.00

对角线?元素:

8.005.002.00->总和:?15.00

反转?对角线:

6.005.004.00->总和:?15.00

是吗?答?魔法?矩阵!

*/