• ベストアンサー

階乗の出力について

Cを勉強中の者です。再起コールを使った階乗計算の結果を出力するプログラムをつくったのですが、もし再起コール(関数 kaijyo)を使わずにfor文などを使って同じように、階乗計算を行いたい場合どのようにすればいいでしょうか? 以下がそのソースコードです。説明が不足であればまた付け加えますのでよろしくおねがいします。 #include <stdio.h> int kaijyo(int a); int main(void) { int a; a = kaijyo(6); printf("6! = %d\n", a); return 0; } int kaijyo(int n) { if(n == 1) return 1; else return n*kaijyo(n-1); /*これを使わずに6!の結果を出したい/* }

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

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

単純に、 int kaijyo(int n) {   int temp = 1;   int i;   for(i=1; i<=n; i++){     temp *= i;   }   return temp; } でよいと思います。

shomarket
質問者

お礼

記述していただいたソースコードを実行して納得しました。どうもありがとうございました。

その他の回答 (1)

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

for文を使ってループさせるのが吉です。

shomarket
質問者

補足

具体的にそのソースコートを書いていただけますか?

関連するQ&A