字母旋转矩阵!求高手!C语言编写……

2025-04-13 09:46:19
推荐回答(1个)
回答1:

先说算法吧,首先在要输出的矩阵外侧加“厚一层”(防止越界),最外层所有字符全部写成“+”,里层写成‘?’,如5X8就变成7X10,然后从里层的第一个开始写数,设置一个头指针写成A(如到在z,下一个写A),当它准备跳到下一位的时候,用循环遍历这个以这个字符为中心的靠的最近8个数当发现一个横纵坐标的和与这个字符差距最小的位置,且该位是“?”的是侯,就向这一位写入下一个字符,注意如果比较两者坐标和相等,则大数优先(这是防止在在最外层一列出错,)最后当一个字符的要写入的后一位不是“?”的时候,停下来,说明满了,好了说到这儿你应该会了吧,最好自己写有感觉