C/C++の宿題を片付けます 121代目at TECH
C/C++の宿題を片付けます 121代目 - 暇つぶし2ch43:デフォルトの名無しさん
09/01/01 23:01:20
>>40
別解だが山を二つに区切っちゃおう というのがあるよ
頂点の*の右側を垂直に直線を下ろし、それを境界として考える

上からx行目の空白は10-x個、右側の*はx個、左側の*はx-1個

int i,j,k; // iは空白、jは右側の*、kは左側の*
int line; //行数をカウント

for(line = 1;line <= 10;line++) {
for(i = 10;i > line;i--) printf(" "); //まず空白 
for(j = 1;j <= line;j++)printf("*") //左側の個数の*を出力
for(k = 1;k <= line - 1;k++)printf("*") //右側の個数の*を出力  k <= line - 1 に注目
putchar('\n'); //改行
}

テストしてないけどまあ大丈夫じゃね?


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch