2条回答 默认 最新
- 木艮氵 2015-12-02 11: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无用
悬赏问题
- ¥15 有了解d3和topogram.js库的吗?有偿请教
- ¥100 任意维数的K均值聚类
- ¥15 stamps做sbas-insar,时序沉降图怎么画
- ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
- ¥15 关于#Java#的问题,如何解决?
- ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
- ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
- ¥15 cmd cl 0x000007b
- ¥20 BAPI_PR_CHANGE how to add account assignment information for service line