参考代码:
n = int(input()) res = [[0] * n for _ in range(n)] num = 1 #将需要构造的矩形分为左上三角形和右下三角形两个部分 #所有待写入位置下标有一个特点: x + y = i - 1 for i in range(1, n + 1): x, y = 0, i - 1 while y >= 0: #判断奇偶控制写入顺序 if i % 2 == 0: res[x][y] = num else: res[y][x] = num num += 1 x += 1 y -= 1 for i in range(n + 1, 2 * n): x = n - 1 y = i - 1 - x while y <= n - 1: if i % 2 == 0: res[y][x] = num else: res[x][y] = num num += 1 x -= 1 y += 1 for row in res: for x in row: print(x, end=" ") print()
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题8.6 (C++代码)浏览:763 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:715 |
C语言程序设计教程(第三版)课后习题7.5 (C语言代码)浏览:640 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:644 |
简单的a+b (C语言代码)浏览:564 |
简单的a+b (C++语言代码)浏览:895 |
回文数(一) (C语言代码)浏览:809 |
ASCII帮了大忙浏览:797 |
C语言训练-大、小写问题 (C语言代码)浏览:649 |
简单的a+b (C语言代码)浏览:674 |