程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c 打印圖形-傳入字符串 打印N字圖形

c 打印圖形-傳入字符串 打印N字圖形

編輯:編程綜合問答
傳入字符串 打印N字圖形

傳入字符串 打印N字圖形 該怎麼搞 用函數寫 具體圖形見下圖 圖片說明

最佳回答:


觀察一下特點

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. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved