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

C程序设计(第五版) 谭浩强 习题6.7

题目描述

 输出“魔方阵”。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。
 例如,三阶魔方阵为:
						8	 1    6
						3	 5	  7
						4	 9	  2

思路

(1)将1放在第1行中间一列
(2)从2开始直到n*n,每个数放在前一个数右上角的位置
(3)如果前一个数的右上角超出了方阵,则:上一个数行数为1,下一个数行数为n,列数+1;上一个数列数为n,下一个数列数为1,行数-1。(在纸上画图就能理解)
(4)如果出现了下一个位置已经有数字的情况,将下一个数放在上一个数的下面,超出的情况同(3),移到最上面的第一行

答案

#include<stdio.h>
int main()
{
   
	int a[16][16];			//定义数组,让方阵的边长不超过15 
	int n,i,j,k;			
	int p,t;	
	scanf("%d",&n);			//输入方阵边数 
	if(n%2!=0&&
  • 10
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值