zoukankan      html  css  js  c++  java
  • C语言检验并打印幻方矩阵

    幻方矩阵是指该矩阵中每一行、每一列、每一对角线上的元素之和都是相等的。从键盘输入一个5×5的矩阵并将其存入一个二维整型数组中,检验其是否为幻方矩阵,并将其按指定格式显示到屏幕上。

    输入格式: "%d"

    输出格式:

    如果是幻方矩阵,输出提示信息: "It is a magic square! "

    矩阵元素的输出: "%4d"(换行使用" ")

    如果不是幻方矩阵,输出提示信息: "It is not a magic square! "

    #include<stdio.h> 
    #define MAX 5
    int Fun(int a[MAX][MAX])
    {
     int s1, s2, sum;
     int i, j;

     sum = 0;
     for (i = 0; i<MAX; i++)
      for (j = 0; j<MAX; j++)
       sum += a[i][j];

     sum /= MAX;

     for (i = 0; i<MAX; i++)
     {
      s1 = s2 = 0;
      for (j = 0; j<MAX; j++)//判断每一行每一列 
      {
       s1 += a[i][j];
       s2 += a[j][i];
      }
      if (s1 != sum || s2 != sum)
      {
       return 0;
      }
     }
     s1 = s2 = 0;
     for (i = 0; i<MAX; i++)//判断每一撇:主对角线 
     {
      s1 += a[i][i];
      s2 += a[i][MAX - i - 1];
     }
     if (s1 != sum || s2 != sum)
      return 0;
     return 1;
    }
    int main()
    {
     int i, j;
     int a[MAX][MAX];
     for (i = 0; i < MAX; i++)
      for (j = 0; j < MAX; j++)
       scanf("%d ", &a[i][j]);


     if (Fun(a) == 1)
     {
      printf("It is a magic square! ");
      for (int i = 0; i<MAX; i++)
      {
       for (int j = 0; j < MAX; j++)
        printf("%4d", a[i][j]);
       printf(" ");
      }
     }
     else
      printf("It is not a magic square! ");

     return 0;
    }

  • 相关阅读:
    网站建设问题
    14.2.2.1 InnoDB Lock Modes
    14.2.2 The InnoDB Transaction Model and Locking InnoDB 事务模型和锁定
    Python_编程特色
    Python_编程特色
    Tk日志查看程序
    Linux_进程管理&计划任务
    Linux_进程管理&计划任务
    严重: StandardWrapper.Throwable
    Java导出Excel三表头
  • 原文地址:https://www.cnblogs.com/didiaoxiaoguai/p/6749632.html
Copyright © 2011-2022 走看看