- ベストアンサー
階乗の出力について
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!の結果を出したい/* }
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
単純に、 int kaijyo(int n) { int temp = 1; int i; for(i=1; i<=n; i++){ temp *= i; } return temp; } でよいと思います。
その他の回答 (1)
- asuncion
- ベストアンサー率33% (2127/6289)
回答No.1
for文を使ってループさせるのが吉です。
質問者
補足
具体的にそのソースコートを書いていただけますか?
お礼
記述していただいたソースコードを実行して納得しました。どうもありがとうございました。