一个回环矩阵的程序设计实例

这个问题挺有意思,严苛的表达形式为:
对于任意指定的一个输入规模n,要求输出起始方向向右的回环矩阵。
比如:n = 3
输出:1 2 3
8 9 4
7 6 5

比如:n = 5
输出:1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

这个题目还是在csdn技术问答社区看到的,当时我以为自己10分钟也许就能够写好代码,没想到还是捣鼓了一个小时。
在我看来,此题并不难,但是设计到一个设计模式的问题:我要去观察它们的特征好用数学方程来描述还是把一切交给程序按部就班去做就行了呢?
经历了激烈的思想斗争,我还是打算做一个什么都不懂的指挥官,还是让程序自己运作吧,而我唯一需要做的就是:指定初始条件,设计变化边界。
因此,也没什么好说的,附上代码:

#include "stdio.h"
#include "stdlib.h"
#define NUM 10

void right_add(int a[NUM][NUM],int line,int row,int count); //Note that it can't be written as a[][] here(with an error called "Without subscript")
void down_add(int a[NUM][NUM],int line,int row,int count);
void left_add(int a[NUM][NUM],int line,int row,int count);
void up_add(int a[NUM][NUM],int line,int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值