マンガでよめる痔のこと・薬のこと

キーボードから与えられた整数iに対して、iの階乗(i!)を求める関数"fact"を作成するというものなのですが…

メイン関数は次のように与えられています。

#include<stdio.h>
int fact(int);
int main(void){
int in, i;
printf("Input a number:");
scanf("%d",&in);
for (i=1; i<=in; i++){
printf(" %d %d\n",i , fact(i) );
}
return 0;
}

よろしくお願いします。

このQ&Aに関連する最新のQ&A

0の階乗」に関するQ&A: 0の階乗は1?

A 回答 (3件)

int fact(int n) {


if(n<0) {
printf("fact(%d): error\n", n);
return n;
} else if(n==0) {
return 1;
} else {
return n*fact(n-1);
}
}
    • good
    • 0

メイン関数おかしくないですか?



> キーボードから与えられた整数iに対して
in変数に代入してますよ?

これだと
1の階乗、2の階乗、・・・、inの階乗

の全てを出力してますよ。


fact()関数はforでループして、その回数分掛け算を繰り返せばできます。

とりあえずどこがわからないのか提示しましょう。
    • good
    • 0

趣味ですか?何かの課題ですか?課題なら自分で解かないと意味ありませんね。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング