STEP 4.1a


<問題>

入力された正の整数の階乗を求めるプログラムを作成せよ。(再帰を使わないで書いてみよう)
(0の階乗と1の階乗は1だけれども、0の階乗は今回、扱わないことにします。


<実行結果>

入力してください: 6
6の階乗:720

入力してください: 4
4の階乗:24

<ヒント> 5の階乗を求める。 1*2*3 .. 5と、5*4*3 .. 1 と、どちらも書けるように。
回答プログラムには、intの最大値を表示するプログラムをつけておきます。



解答例

#include <stdio.h>
#include <limits.h>

int factorial (int);


int main (void) {
   int i;

   printf("入力してください: ");
   scanf("%d", &i);

   printf("%dの階乗:%d\n",i, factorial(i));
/*   printf("intの最大値:10進%d 16進%x\n",INT_MAX, INT_MAX); */

   return 0;
}