※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

ループで階乗を求める


解答例
#include <stdio.h>
 
int main(void)
{
    int i, n, kaijo;
 
    printf("入力: ");  scanf("%d", &n);
 
    kaijo = 1;
    i = n;
    while (i >= 1) {
	kaijo = kaijo * i;
	--i;
    }
    printf("%dの階乗は%d\n", n, kaijo);
 
    return 0;
}
 



forループで階乗を求める


解答例
#include <stdio.h>
 
int main(void)
{
    int i, n, kaijo = 1;
 
    printf("入力: ");  scanf("%d", &n);
 
    for (i = 1; i <= n; i++) {
	kaijo *= i;
    }
    printf("%dの階乗は%d\n", n, kaijo);
 
    return 0;
}
 



再帰関数で階乗を求める


解答例
#include <stdio.h>
 
int fac(int n) {
    if (n == 0) {
	return 1;
    } else {
	return n * fac(n-1);
    }
}
 
int main(void)
{
    int n;
 
    printf("入力: ");  scanf("%d", &n);
    printf("%dの階乗は%d\n", n, fac(n));
 
    return 0;
}
 

-