绝密笔记 | C语言 | 求1!+2!+…+20!

例53:C语言编程求1!+2!+3!+…20!

解题思路:sum不应该定义为int或者long型,假如使用的编译器是Visual C++6.0时,int和long型数据在内存都占4个字节,数据的范围在 -21亿~21亿。 如果将sum定义为double型,以得到更多的精度。在输出时,用22.15e格式,使数据宽度为22,数字部分中小数位数为15位。 

源代码演示:

#include<stdio.h>//头文件 
int main()//主函数 
{
  double sum=0,temp=1;//双精度浮点型变量 
  int i;//定义整型变量 
  for(i=1;i<=20;i++)//for循环 
  {
    temp=temp*i;
    sum=sum+temp;
  }
  printf("结果:%22.15e\n",sum);//输出结果,注意输出的格式 
  return 0;//主函数返回值为0 
}

编译运行结果如下:

结果:2.561327494111820e+018

--------------------------------
Process exited after 1.94 seconds with return value 0
请按任意键继续. . .

C语言 | 求1!+2!+…+20!

更多案例可以go公众号:C语言入门到精通

正文完