C语言检验并打印魔方矩阵

C语言检验并打印魔方矩阵,第1张

#include<stdio.h>

int main()

{

    int a[5][5],i,j,sum,N

    printf("请输入一个5*5的矩阵:\n")

    for(i=0i<5i++){

        for(j=0j<5j++){

           scanf("%d",&a[i][j])

        }

    }

    N=5*(5*5+1)/2

    for(i=0i<5i++){

       sum=0//每求一行sum重新置为0

       for(j=0j<5j++){

           sum=sum+a[i][j]

       }

       if(sum==N)//比较每一行之和是否等于N

          continue//如果是跳过这次循环继续下一次循环

      else{

          printf("该矩阵不是魔方矩阵!\n")system("pause")return 0

      }

    }

    for(i=0i<5i++){

        sum=0//每求一列sum重新置为0

        for(j=0j<5j++){

            sum=sum+a[j][i]//比较每一列之和是否等于N

        }

        if(sum==N)

            continue

        else{

            printf("该矩阵不是魔方矩阵!\n")system("pause")return 0

       }

    }

    sum=0//计算对角线求和前重置为0

    for(i=0i<5i++){

        for(j=0j<5j++){

           if(i==j)

               sum=sum+a[i][j]//计算从左到右对角线的和

        }

    }

    if(sum!=N){

       printf("该矩阵不是魔方矩阵!\n")system("pause")return 0

    }

    sum=0//计算对角线求和前重置为0

    for(i=0i<5i++){

        j=4-i

        sum=sum+a[i][j]

    }

    if(sum!=N){

           printf("该矩阵不是魔方矩阵!\n")system("pause")return 0

    }

    else

        printf("该矩阵是魔方矩阵!\n")

    system("pause")

    return 0

}

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

#define N 5

void main()

{

int i,j

int x[N][N]={{17,24,1,8,15},{23,5,7,14,16},

{4,6,13,20,22},{10,12,19,21,3},{11,18,25,2,9}}

int rowsum[N],colsum[N],diagsum1,diagsum2

int flag=1

for(i=0i<Ni++)

{

rowsum[i]=0

for(j=0j<Nj++)

{

rowsum[i]=rowsum[i]+x[i][j]

}

}

for(j=0j<Nj++)

{

colsum[j]=0

for(i=0i<Ni++)

{

colsum[j]=colsum[j]+x[i][j]

}

}

diagsum1=0

for(j=0j<Nj++)

{

diagsum1=diagsum1=x[j][j]

}

diagsum2=0

for(j=0j<Nj++)

{

diagsum2=diagsum2=x[j][N-1-j]

}

if(diagsum1!=diagsum2)

{

flag=0

}

else

{

for(i=0i<Ni++)

{

if((rowsum[i]!=diagsum1)||(colsum[i]!=diagsum1))

flag=0

}

}

if(flag)

{

printf("It is magic square!\n")

for(i=0i<Ni++)

{

for(j=0j<Nj++)

{

printf("%4d",x[i][j])

}

printf("\n")

}

}

else

{

printf("It is not magic square!\n")

}

}

看一下


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11758517.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存