1203: 做幻方题目描述Apple最近迷上了做幻方 , Apple还是个中高手 , 只要你说个奇数N就能把N*N的幻方做出来 。 其实你可以比他做得更好的 。 Apple总是画得很乱 , 而你可以利用程序排得很整齐^_^ 幻方的要求:每一行 , 每一列 , 还有两条斜线上数字的和都相等.
输入每行一个奇数N(0< N < 30),输入0结束
输出输入一个奇数 , 输出一个幻方 , 顺序参照样板输出;同一列的数右对齐 , 数与数用一个空格分开;输出完以后加一个回车 。
样例输入510样例输出【1203: 做幻方】11 18 252910 12 19 213 46 13 20 222357 14 1617 2418 151代码#include#include#define N 30int sqr(int m);?int main(){int m;while(scanf("%d",}return 0;}?int sqr(int m){int a[N][N] = {0};int x=0, y=0;int times, p, q, fmt;int i, j;x = m / 2;y =m - 1;times = m * m;for(i = 0 ; i < times ; i++){a[y][x] = i + 1;p = x;q = y;x = x + 1;if(x == m)x = 0;?y = y + 1;if(y == m)y = 0;?if(a[y][x] != 0){x = p;y = q - 1;}}?fmt = log10(times);if(fmt == 0){for(i = 0 ; i < m ; i++){for(j = 0 ; j < m - 1 ; j++){printf("%d ", a[i][j]);}printf("%d", a[i][m - 1]);printf("\n");}}else if(fmt == 1){for(i = 0 ; i < m ; i++){for(j = 0 ; j < m - 1 ; j++){printf("%2d ", a[i][j]);}printf("%2d", a[i][m - 1]);printf("\n");}}else if(fmt == 2){for(i = 0 ; i < m ; i++){for(j = 0 ; j < m - 1; j++){printf("%3d ", a[i][j]);}printf("%3d", a[i][m - 1]);printf("\n");}}printf("\n");return 0;}
推荐阅读
-
-
战略|1元就可打新蚂蚁,5只基金600亿元参与蚂蚁战略配售
-
吃鸡大神不喝汤玩家直呼怕了,生化危机3重置版画面太过逼真
-
凤兰时尚秀|她的头发凌乱,脚上穿一双拖鞋,不愧是“窈窕淑女,君子好逑”
-
-
-
新剧|原创Angelababy新剧开播,哭戏获得认可?演戏终于不是干瞪眼了!
-
大河客户端|路面破损严重,荥阳住建局及时抢修提升“城市颜值”
-
『华为』华为曾讽刺小米杂货铺,如今它也开起了杂货铺
-
快讯神记▲无意间提到baby,有谁注意对她的称呼?,黄晓明与尹正对戏时
-
-
-
-
快猎网|| TMT行业最新人事变动汇总-2020年7月第2周,才报
-
海警|湛江11名渔民因台风“森拉克”被困海上, 海警紧急营救
-
奇奇|岁月静好!田静晒儿子奇奇悦悦视频,称生活不仅有诗和远方
-
每天一顿早餐钱告别“猪队友” 红魔5S游戏手机京东独家首发
-
-
怎么样能让自己在群体之中时刻保持高度亢奋的状态,有没有啥小技巧
-