また違う問題やってるんですけど、コンパイルはできても、答えが合わないので、どこを直したらいいか教えてください。
1/1!+1/2!+1/3!+1/4!…1/n!=???という問題です。

#include <stdio.h>

void main(){
 int i, ipt;
 int bunbo[101], bunshi[101];
 int bunbo1;
 int bunshi1;
 double Ans;

 //ユーザ入力
 printf("1/1!,1/2!,1/3!,…,1/n!の和を求めます。\nnの値を入力してください。\n");
 scanf("%d", &ipt);
 if (ipt > 100){
  printf("100より大きい数入れたらコロヌ");
 }

 //分母の代入・分母の積
 bunbo[1] = bunbo1 = 1;
 for (i = 2; i <= ipt; i++){
  bunbo[i] = bunbo[i - 1] * i;
  bunbo1 *= bunbo[i];
 }

 //分子の代入・分子の和
 bunshi1 = 0;
 for (i = 1; i <= ipt; i++){
  bunshi[i] = bunbo1 / bunbo[i];
  bunshi1 += bunshi[i];
 }

 //分子÷分母
 Ans = (double)bunshi1 / (double)bunbo1;

 //データ出力
 printf("%f", Ans);
}

2を入力すると正しい値が返ってくるんですけど、5にしたら間違った値が表示されました。
しかも、10以上を入力するとアプリケーションエラーが出てしまいます。^^;;;