输出魔方阵,所谓魔方阵是指这样的方阵,它的每一行,每一列和对角线之和均相等。例如,三阶魔方阵为

您所在的位置:网站首页 输出魔方阵 输出魔方阵,所谓魔方阵是指这样的方阵,它的每一行,每一列和对角线之和均相等。例如,三阶魔方阵为

输出魔方阵,所谓魔方阵是指这样的方阵,它的每一行,每一列和对角线之和均相等。例如,三阶魔方阵为

2024-01-28 17:55| 来源: 网络整理| 查看: 265

输出魔方阵,所谓魔方阵是指这样的方阵,它的每一行,每一列和对角线之和均相等。例如,三阶魔方阵为 8 1 6 3 5 7 4 9 2 要求输出1~n2的自然数构成的魔方阵。

#include int main() { int a[16][16],i=0,j=0,k=0,p=0,n=0; p=1; while(p==1) { printf("enter n(n=1--15):"); scanf("%d",&n); if ((n>=0) && (n i=i-1; j=j+1; if((in)) { i=i+2; j=j-1; } else { if(in) j=1; } if(a[i][j]==0) { a[i][j]=k; } else { i=i+2; j=j-1; a[i][j]=k; } } printf("各行行的和为:\n"); for (i=1;i printf("%5d",a[i][j]); sum+=a[i][j]; } printf("\t\t%d\n",sum); } printf("\n\n"); printf("各列列的和为:\n"); for(i=1;i sum+=a[j][i]; } printf("%5d",sum); } printf("\n\n"); printf("正对角线之和为:\n"); int sum=0; for(i=1;i if(i==j) sum+=a[i][j]; } } printf("%5d",sum); printf("\n\n"); printf("反对角线为之和:\n"); sum=0; for(i=1;i if(i==n-j+1) sum+=a[i][j]; } } printf("%5d",sum); return 0; }

在VS2019下,需将源文件的scanf改为scanf_s:

#include int main() { int a[16][16], i = 0, j = 0, k = 0, p = 0, n = 0; p = 1; while (p == 1) { printf("enter n(n=1--15):"); scanf_s("%d", &n); if ((n >= 0) && (n i = i - 1; j = j + 1; if ((i n)) { i = i + 2; j = j - 1; } else { if (i n) j = 1; } if (a[i][j] == 0) { a[i][j] = k; } else { i = i + 2; j = j - 1; a[i][j] = k; } } printf("各行行的和为:\n"); for (i = 1; i printf("%5d", a[i][j]); sum += a[i][j]; } printf("\t\t%d\n", sum); } printf("\n\n"); printf("各列列的和为:\n"); for (i = 1; i sum += a[j][i]; } printf("%5d", sum); } printf("\n\n"); printf("正对角线之和为:\n"); int sum = 0; for (i = 1; i if (i == j) sum += a[i][j]; } } printf("%5d", sum); printf("\n\n"); printf("反对角线为之和:\n"); sum = 0; for (i = 1; i if (i == n - j + 1) sum += a[i][j]; } } printf("%5d", sum); return 0; }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3