• 締切済み

C言語の課題なんですが、わかりません。

問題は、for文を使って10の階乗を計算し、実行結果が10の階乗は3628800です。 誰か解りましたら教えて下さい。

みんなの回答

noname#129118
noname#129118
回答No.4

コンパイラがないので、バグ含みで記載します。 void main () { int i,j,k; long l_data; /* init */ l_data = 1; j = 10; /* stop of max-value */ k = 1; /* start of min-value */ /* loop of 1..10 */ for (i=k;i<j;i++) { l_data *= i; } /* output */ printf(%d,l_data); } ● ループ処理は、while()でも構いません ● l_dataは、精度保証できること ● l_dataには、前回値×ループカウンタを格納すること ・・・で動作するかな?(単純なアルゴリズムでも、コンパイラがないと・・・)

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

1の階乗から10の階乗までを求める式をノートに書いてみると、 for文をどのように使えばよいかがわかるかもしれません。

  • v6arxzmd
  • ベストアンサー率32% (16/49)
回答No.2

10の階乗の答えはそれで間違っていませんよ? ループの回数や条件を間違っていませんか? for文の最後にprintfを使って1ループごとの値を表示させてみるとわかりやすいですよ。 蛇足ですが先の回答者が言われているように、もう少し詳しく説明しないと回答がしづらいorできないので注意されてください。

noname#77845
noname#77845
回答No.1

何処が判らないのか、補足してください。 ・階乗の意味 ・for文の使い方 ・プログラムの作り方 ・etc

関連するQ&A