• ベストアンサー

教えてください!

段数を入力して*を使って直角三角形を表示するプログラミングで 段数が1~9までで、それ以外の場合はエラーメッセージを出力するするにはどうしたらいいですか? 制御分はfor文で。 直角三角形は出力出来るんですが、それ以外のエラーメッセージの出力方法がわかりません。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

scanfのあとにlnが正しい範囲にはいっているか判定するコードを入れましょう。 こんな感じ? if (ln<1 || 9<ln) { えらー処理 } else { ただしい処理 }

その他の回答 (4)

  • arain
  • ベストアンサー率27% (292/1049)
回答No.5

No.1です。 すでに、No.4までで回答が出ていますが、言えることは 「条件文(if文)勉強しましょう」 ということです。 ついでに、この際だからswitsh文のことも勉強しておきましょう。

  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.3

もうちょっとまともなタイトルを付けましょう。 入力した段数の値をif文で判定して、1~9の範囲にあれば三角形を出力し、 それ以外(つまりelseってこと)の場合はエラーメッセージを出力する。 以上です。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

「直角三角形は出力出来るんですが」 ということなので, 「直角三角形」をどのように出力しているのか, そのコードを示すとともに「どのような動作をしているのか」きっちりと説明してもらえませんか?

mjnike
質問者

補足

#include <stdio.h> int main(void) { int i, j, ln; printf("何段ですか? /n"); sanf("%d", &ln); for(i = 1; i <= ln; i++) { for (j = 0; j <= ln-i; j++) { putchar('*'); } putchar('/n') } return(0); } としたところ、 何段ですか? 4 **** *** ** * となります。 これを 何段ですか? 12 表示できません。 というふうにしたいのですが。 よろしくお願いします。

  • arain
  • ベストアンサー率27% (292/1049)
回答No.1

>段数が1~9までで、それ以外の場合はエラーメッセージを出力 そのままですよ。 入力した数値が1~9までの範囲になければエラーメッセージを表示するだけ。 >直角三角形は出力出来るんですが、それ以外のエラーメッセージの出力方法がわかりません。 「*」が表示できるのに、なぜエラーメッセージが表示できないのか理解に苦しみますが。 ひっょとして、printf()を使用し内で別の表示をしている?

関連するQ&A