主题:[求助]明天就要!
风之落叶
[专家分:40] 发布于 2007-03-16 22:59:00
输入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个回复)
沙发
风之落叶 [专家分:40] 发布于 2007-03-16 23:02:00
各位大侠来帮一帮偶呀!
谢谢啦!
板凳
wangsdong [专家分:21390] 发布于 2007-03-17 09:24:00
http://www.programfan.com/club/showbbs.asp?id=190645
这一页中有一个C语言版的,你把它翻译一下
3 楼
bigchen [专家分:1940] 发布于 2007-03-17 11:42:00
程序就不提供了
提供一下算法
可以设置两个变量作为改变行和列的指针
然后把值赋给一个二维数组
最后输出这个二维数组
核心思维:
用一个大循环,控制循环圈数
下面有四个循环(因题目而异,现在就以你的题目举例)
第一个循环从上到下,每次把行指针加一,列指针不变,赋值
第二个循环从左到右,每次把列指针加一,行指针不变,赋值
第三个循环从下到上,每次把行指针减一,列指针不变,赋值
第四个循环从右到左,每次把列指针减一,行指针不变,赋值
至于赋值问题可以设置一个计数器
比如说S 初始赋值为0
然后在每条赋值语句前加上一句S:=S+1;
在把S的值赋值给数组
我来回复