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;}
推荐阅读
-
-
|女子价值880万大别墅仅挂18元甩卖,还送2万平方米土地
-
杨幂:“男人的尽头是郭麒麟”,网友:郭麒麟双商很高,很适合!
-
-
请问大家,北京七处世界遗产地分别是哪还有北京的5a景点又在哪
-
「游戏日报」连腐团儿都来了?,轩子都没信心拿第一!网游举办选女神大赛
-
-
上海法治报|退休女子花光30万积蓄住五星级酒店,挥霍后抢金店:想去监狱里生活
-
出鞘军情▲是否意味着开战?金一南:3大迹象证实判断,B1B轰炸机罕见赴日本
-
失主|好人有好报!环卫工捡10万现金上交获奖5000
-
■华为P40全球发布会21:00点开启 倒计时海报一览
-
「检查」安检员双手十分钟一消毒 上海虹桥机场“五一”完善常态防疫
-
尤娜娜时尚手册|秋季的衬衫怎么穿显精致?这些小技巧很有必要了解一下!
-
小豆浆妈妈育儿说|你还敢用偏方吗,宝宝晚上高烧不退
-
朋友圈晒美食经典语录加图片,配自己做的美食图片的朋友圈句子-
-
「蘸料」吃火锅时,只调这“3种蘸料”的人,老板表示:不是内行就是吃货
-
农业资讯|别惹这4种“是非”,看着有面子,却是痛苦的开始,人到了50岁
-
-
双鱼座|12月,放不下,逃不开,挣不脱,3星座痛彻心扉,难舍心中执念
-
想好好做医生的胖子TB不一定都是腰突导致的!医生给您详述其他病因,后腰、下背部疼痛