C++实现古代文字排版:从右往左一列一列书写
#include
int main() { int n; string s; cin >> n >> s; int len = s.length(); int m = len / n; // 行数 if (len % n != 0) m++; // 如果最后一行不足 n 个字符,行数加一 for (int i = 0; i < n; i++) { // 遍历每一列 for (int j = 0; j < m; j++) { // 遍历每一行 int idx = j * n + (n - i - 1); // 计算当前字符在原字符串中的下标 if (idx < len) cout << s[idx]; // 如果下标在字符串范围内,输出该字符 else cout << ' '; // 否则输出空格 } cout << endl; // 每一列输出完毕,换行 } return 0; }
原文地址: https://www.cveoy.top/t/topic/oQYl 著作权归作者所有。请勿转载和采集!