方法一:简单运算实现n的阶乘(不考虑溢出)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
  int i = 0;
  int n = 0;
  printf("请输入一个数:");
  scanf("%d", &n);
  int ret = 1;
  for (i = 1; i <= n; i++)
  {
    ret = ret * i;    
  }
  printf("ret= %d\n", ret);
  return 0;
}方法二:函数的方法实现n的阶乘(不考虑溢出)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int factorial1(int n)
{
  int i = 0;
  int ret = 1;
  for (i = 1; i <= n; i++)
  {
    ret *= i;
  }
  return ret;
}
int main()
{
  int i = 0;
  int n = 0;
  int ret = 1;
  printf("请输入一个数:");//求n的阶乘(不考虑溢出)
  scanf("%d", &n);
  ret = factorial1(n);//循环的方式
  printf("ret= %d\n", ret);
  return 0;
}方法三:递归的方法求n的阶乘(不考虑溢出)
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//根据n的阶乘的计算方法:
int factorial2(int n)
{
  if (n <= 1)
    return 1;
  else
    return n * factorial2(n - 1);
}
int main()
{
  int i = 0;
  int n = 0;
  int ret = 1;
  printf("请输入一个数:");//求n的阶乘(不考虑溢出)
  scanf("%d", &n);
  ret = factorial2(n);//递归的方式
  printf("ret= %d\n", ret);
  return 0;
}









