qq_15776929 2015-12-01 19:29 采纳率: 100%
浏览 1719
已采纳

传入字符串 打印N字图形

传入字符串 打印N字图形 该怎么搞 用函数写 具体图形见下图 图片说明

  • 写回答

2条回答 默认 最新

  • 木艮氵 2015-12-02 03:37
    关注

    观察一下特点

    1)字符串的长度为n,那么就要输出n行,且第i行的字符也就是字符串的第i个字符
    2)每行的长度等于字符串的长度,除了第一行和最后一行之外,均有三个相同的字符。
    3)每行有位置变化的字符,其位置从上到下在不断右移,而这个字符的前后空格数量也是一个等差数列。

    这意味着一个循环就可以搞定。
    由1)可知需要循环n次,那么字符串的长度n要先求出来。循环变量设置为行号line,从0到n-1。
    由2)可知当line==0和line==n-1的时候需要特殊处理,先输出一个该行对应的字符(字符串[line]),然后是空格,输出的空格数量是n-2,再输出一个对应的字符。
    由3)可知当line从1循环到n-2的时候,对应每行的输出数据应该是“字符1+空格1+字符2+空格2+字符3”,整行的长度为n,且字符1==字符2==字符3==字符串[line]。空格1对应的空格个数为line-1(第二行时line==1所以line-1==0也就是这个位置不会输出空格,与实际相符),空格2对应的个数为n-3-(line-1)个(同理倒数第二行时这个位置不会输出空格)。

    然后你就可以循环了,处理任意长度的字符串均可,但要考虑控制台窗口的大小,太长的话输出就乱掉了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部