一.计算n的阶乘
#include <stdio.h> /* 编译预处理命令 */
int main(void) /* 主函数 */
{
int n; /* 变量定义 */
int factorial(int n); /* 函数声明 */
scanf("%d", &n); /* 输入一个整数 */
printf("%d\n", factorial(n)); /* 调用函数计算阶乘 */
return 0;
}
int factorial(int n) /* 定义计算 n! 的函数 */
{
int i, fact = 1;
for(i=1;i<=n;i++){ /* 循环 */
fact=fact*i;
}
return fact;
}
结果:
二.调用自定义函数fact(i)
# include <stdio.h>
double fact (int n); /* 自定义函数的声明 */
int main (void)
{
int i, n;
double result;
printf ("Enter n:");
scanf ("%d", &n);
for (i = 0; i <= n ; i++){
result = fact (i); /* 调用自定义函数fact(i)计算i! */
printf ("%d!=%.0f\n", i, result);
}
return 0;
}
double fact (int n) /* 函数首部 */
{
int i; double product;
product = 1;
for (i = 1; i <= n; i++) {
product = product * i;
}
return product; /* 将结果回送主函数 */
}
结果:
三.1!+2!+3!......+n!=?
#include<stdio.h>
double fact(int n);
int main()
{
int i,n;
double sum=0;
printf("Enter n:");
scanf("%d",&n);
for(i=1;i<=n;i++){
sum=sum+fact(i);
}
printf("1!+...+%d!=%.0f\n",n,sum);
return 0;
}
double fact(int n){
int i;
double result=1;
if(n<0){
return 0;
}
for(i=1;i<=n;i++){
result=result*i;
}
return result;
}
结果 :
四.n!/[n!*(n!-n!)]=?
# include <stdio.h>
double fact (int n); /* 自定义函数的声明 */
int main (void)
{ int i, n,m;
double result;
printf ("Enter n:");
scanf ("%d", &n);
printf ("Enter m:");
scanf ("%d", &m);
for (i = 0; i <= n ; i++){
result = fact (i); /* 调用自定义函数fact(i)计算i! */
printf ("%d!/%d!*(%d!-%d!)=%.0f\n", i,i,i,i, result);
}
return 0;
}
double fact (int n) /* 函数首部 */
{ int i,m; double product;
product = 1;
for (i = 1; i <= n; i++) {
product = product * i;
}
return product; /* 将结果回送主函数 */
}
结果: