计算100的阶乘(数组)

#include<stdio.h>
 //思路就是模拟乘法,乘数与被乘数的每一位相乘,然后大于十就进位
int main(int argc,const char** argv)
{
  int arry[256]={0},tmp=0,id=1;//id是记录循环中数的位数
  arry[0]=1;
  for(int i=1;i<=100;i++)
  {
      int cry=0;//定义进位
    for(int j=0;j<id;j++)
    {
        arry[j]=arry[j]*i+cry;//从数的末尾至开头与乘数相乘
        cry=arry[j]/10;//更新进位
        arry[j]=arry[j]%10;//保存余数
    }
    while(cry>0)//如果进位大于0,表示数的总长度需要增加
    {
        arry[id++]=cry%10;
        cry/=10;
    }
  }
  for(int i=id-1;i>=0;i--)
  {

    printf("%d",arry[i]);

  }
}
原文地址:https://www.cnblogs.com/zongji/p/13324319.html