回 帖 发 新 帖 刷新版面

主题:[求助]明天就要!

输入n,打印出下图:(N=5)

1 16 15 14 13

2 17 24 23 12

3 18 25 22 11 

4 19 20 21 10

5  6  7  8  9

回复列表 (共3个回复)

沙发

各位大侠来帮一帮偶呀!
谢谢啦!

板凳

http://www.programfan.com/club/showbbs.asp?id=190645
这一页中有一个C语言版的,你把它翻译一下

3 楼

程序就不提供了
提供一下算法
可以设置两个变量作为改变行和列的指针
然后把值赋给一个二维数组
最后输出这个二维数组

核心思维:
用一个大循环,控制循环圈数
下面有四个循环(因题目而异,现在就以你的题目举例)
第一个循环从上到下,每次把行指针加一,列指针不变,赋值
第二个循环从左到右,每次把列指针加一,行指针不变,赋值
第三个循环从下到上,每次把行指针减一,列指针不变,赋值
第四个循环从右到左,每次把列指针减一,行指针不变,赋值
至于赋值问题可以设置一个计数器
比如说S 初始赋值为0
然后在每条赋值语句前加上一句S:=S+1;
在把S的值赋值给数组

我来回复

您尚未登录,请登录后再回复。点此登录或注册