参考代码:
import sys def make(x): res = bin(x) res = res[2:] while len(res) < 5: res = '0' + res return res def make_full(): res = '' for char in s: if char == ' ': res += '00000' else: res += make(ord(char) - ord('A') + 1) return res def ending(): for rows in matrix: for num in rows: print(num, end="") sys.exit(0) row, column, s = input().split() row = int(row) column = int(column) newStr = make_full() matrix = [[0] * column for _ in range(row)] index = 0 left, right, top, bottom = 0, column - 1, 0, row - 1 while True: for i in range(left, right): matrix[top][i], index = newStr[index], index + 1 if index == len(newStr): ending() for i in range(top, bottom + 1): matrix[i][right], index = newStr[index], index + 1 if index == len(newStr): ending() for i in range(right - 1, left, -1): matrix[bottom][i], index = newStr[index], index + 1 if index == len(newStr): ending() for i in range(bottom, top, -1): matrix[i][left], index = newStr[index], index + 1 if index == len(newStr): ending() left += 1 right -= 1 top += 1 bottom -= 1
0.0分
0 人评分
C语言训练-求矩阵的两对角线上的元素之和 (C语言代码)浏览:706 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:578 |
K-进制数 (C++代码)浏览:856 |
不容易系列 (C语言代码)浏览:666 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:1420 |
printf基础练习2 (C语言代码)浏览:741 |
WU-蓝桥杯算法提高VIP-交换Easy (C++代码)浏览:1115 |
C语言程序设计教程(第三版)课后习题10.3 (C语言代码)浏览:534 |
简单的a+b (C语言代码)浏览:417 |
上车人数 (C语言代码)浏览:713 |