ここから本文です

c言語の*を並べて右上が直角の直角三角形を表示したいのですがわかる方いますか?

jsb********さん

2018/9/3022:58:14

c言語の*を並べて右上が直角の直角三角形を表示したいのですがわかる方いますか?

直角三角形,int const n,右上,stdio.h&gt,%c&quot,C言語,空白文字

閲覧数:
114
回答数:
2
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

あーばさん

2018/10/106:56:59

左に空白文字、右に * の n 段の直角三角形を出力する。これは実際には n 行 n 列の文字列である。行を i、列を j で表し、インデックスの開始を 0 とする。

n = 5 の場合
0行0列目の文字:*
0行1列目の文字:*
……
1行0列目の文字:(空白文字)
1行1列目の文字:*
……
4行3列目の文字:(空白文字)
4行4列目の文字:*

これを一般化してやればよい。i 行 j 列目の文字を出力する際、i > j が真であれば * 偽であれば空白文字が出力される。また、i, j の取る範囲はそれぞれ 0~n-1 である。

これを踏まえてコードは以下のようになる。

--
#include <stdio.h>

int main(void) {
    int const n = 5;

    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++) {
            i > j ? printf("%c", ' ') : printf("%c", '*');
        }
        puts("");
    }

    return 0;
}

  • あーばさん

    2018/10/107:00:25

    一部訂正
    × i > j が真であれば * 偽であれば空白文字が出力
    ○ i > j が真であれば空白文字、偽であれば * が出力

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2018/10/1 07:28:34

ありがとうございます

ベストアンサー以外の回答

1〜1件/1件中

プロフィール画像

カテゴリマスター

あみやさん

2018/9/3023:17:01

何もない部分にはスペースを表示すればOKですよ。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる