注册 登录
编程论坛 C++教室

这个效果怎么用for循环语序做出来?尤其是字母怎样能是A~Z循环?

zb05241x 发布于 2015-10-21 21:17, 553 次点击
只有本站会员才能查看附件,请 登录
3 回复
#2
诸葛欧阳2015-10-21 21:49
找出规律水到渠成
#3
rjsp2015-10-22 08:44
程序代码:
#include <cstdio>

int main( void )
{
    const size_t n = 8;
    for( size_t i=0,j=0; i!=(2*n+1)*(2*n+4); ++i )
    {
        size_t r = i/(2*n+4);
        size_t c = i%(2*n+4);

        if( c+1 == 2*n+4 )
            putchar( '\n' );
        else if( r+c<=n || r+(2*n+2-c)<=n || (2*n-r)+c<=n || (2*n-r)+(2*n+2-c)<=n )
            putchar( '+' );
        else
            putchar( 'A'+(j++%26) );
    }
    return 0;
}

输出:
+++++++++A+++++++++
++++++++BCD++++++++
+++++++EFGHI+++++++
++++++JKLMNOP++++++
+++++QRSTUVWXY+++++
++++ZABCDEFGHIJ++++
+++KLMNOPQRSTUVW+++
++XYZABCDEFGHIJKL++
+MNOPQRSTUVWXYZABC+
++DEFGHIJKLMNOPQR++
+++STUVWXYZABCDE+++
++++FGHIJKLMNOP++++
+++++QRSTUVWXY+++++
++++++ZABCDEF++++++
+++++++GHIJK+++++++
++++++++LMN++++++++
+++++++++O+++++++++


#4
zb05241x2015-10-22 21:56
回复 3楼 rjsp
多谢帮助
1