C言語なら、俺に聞け! <29>
■ このスレッドは過去ログ倉庫に格納されています
0772604
NGNG1/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以上を入力するとアプリケーションエラーが出てしまいます。^^;;;
■ このスレッドは過去ログ倉庫に格納されています