シンプルなシミュレーションアルゴリズム2

一緒にPAT B1036とオバマ算数を学ぶために、非常に、非常に簡単な質問:矩形nに指定された辺の長さを印刷文字で、ここで私は他の誰かの答えが書いた何を参照してください、従来の考え方は、最初と最後の行を分割することであり、2〜れN-1ラインが、より矩形のようなコンソールの表示を行うためにランクの割合、印刷のみ、N / 2行からです。

一般的な答えは:

1つの#include <cstdioを>
 2  
3。 INT メイン(){
 4。     INT N-; // エッジ長
5。     チャー C; // 文字
6      scanfの(" %D%C "、およびN-、&C)
 。7  
。8      // 最初ライン
9。     ためのint型 I = 0、I <N - 、Iは++ ){
 10          のprintf(" %のC "、C); // N-文字
。11      }
 12である      のprintf(" \ N- ");
 13である 
14      // N / 2-1ライン2〜の
15      のためにint型私は= 1 Iは、N / <; 2 - 2私は++; ){
 16          のprintf(" %のC "、C); // 行ごと最初のC 
17          のためのINT J = 0 ; J <N-- 2 ; J ++ ){
 18である              のprintf("  "); // N-2-空間
19          }
 20である          のprintf(" %C \のN- "、C)。
21      }
 22  
23      // 第N / 2行
24      のためのint型 i = 0 ; iがn <; iは++ ){
 25          のprintf(" %のC " 、C)。
26      }
 27  
28      戻り 0 ;
29 }

業績:

それはだった非常に簡単な質問ですが、私は別の普通の「従来の」取得のソリューションを持っていますが。

1つの#include <iostreamの>
 2  使用して 名前空間STDを、
3  
4  int型のmain()
 5  {
 6      INT N。
7      チャーC。
8      CIN >> N >> C。
9      int型 I = 0 ; iがN / < 2 ; iが++ ){
 10          のためにINT J = 0 ; J <N; J ++ ){
 11              ならば(私の== 0 || iは== N / 2 - 1 | | jは== 0|| jは== N - 1 ){
 12                  COUT << C。
13              } {
 14                  COUT << '  ' 15              }
 16          }
 17          COUT << ENDL。
18      }
 19      リターン 0 20 }

次の2つの方法の比較は、最初は、コンピュータの印刷文字にコンピュータによって方法で処理された:春の川は東に流れ、滝3000フィート。彼らは四方を持っていた場合:第二は、実現する四角形を描画するための通常の方法に従ってですが。

同じ問題が、それはコードをより合理化することができます思考のさまざまな方法を解決するが、それは熟考の価値があります。

おすすめ

転載: www.cnblogs.com/viewts/p/11237914.html