检查一个4*4二维数组a是否对称的c语言代码

如题所述

#include <stdio.h>
void main(){
int i,j,k=1,a[4][4];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
for(i=0;i<4;i++)
for(j=0;j<i;j++)
if(a[i][j]!=a[j][i])
{k=0;break;}
k?printf("对称"):printf("不对称");
}

运行示例:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-06
很简单拉 例如数组是 a[3][3]
检查是否对称就是判断两个对角线对称的位置是否相等
例如 第一行的判断:
a[0][0]==a[3][3];
a[0][1]==a[2][2]&&a[0][1]==a[3][1];
a[0][2]==a[3][2]&&a[0][2]==a[2][0];
a[0][3]==a[3][0]
下面的类似,C语言就是这么麻烦,但是原理比较简单,教给你了,自己慢慢做吧本回答被网友采纳
第2个回答  2010-12-06
n阶矩阵 这里N应该是4吧!
定义4个变量a,b,c,d。一个嵌套循环
for(a=0,d=0;a<n,d<n;a++,d++)
{
for(b=0,c=0;c<n,d<n;b++,c++)
{
if(int[a,b]!=int[c,d]){cout("不对称")break;}
}
if(a==b==n){cout("对称");}
}
第3个回答  2019-06-11
void
main(){
int
i,j,k;
long
lsum;
int
c[3][2]={0};
int
a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int
b[4][2]={{1,2},{3,4},{5,6},{7,8}};
/*嵌套循环计算结果矩阵(m*p)的每个元素*/
for(i=0;i<3;i++)
for(j=0;j<2;j++){
/*按照矩阵乘法的规则计算结果矩阵的i*j元素*/
lsum=0;
for(k=0;k<4;k++)
lsum+=a[i][k]*b[k][j];
c[i][j]=lsum;
printf("
%d",c[i][j]);
}
printf("\n");
}
数字是我随便写的,根据自己要求可以修改数字
第4个回答  2010-12-12
数组a【n】【n】
int check(int* a, n ) //相同返回0 否则1
{
for( i=0,i<n,i++ )
for( j=i,j<n,j++ )
if(a[i][j]!= a[j][i])
return 1
return 0
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网