原创 闫小林 C语言入门到精通 1月5日

收录于话题

#C语言实战练习

103个

“要成为绝世高手,并非一朝一夕,除非是天生武学奇才,但是这种人…万中无一”

——包租婆
这道理放在C语言学习上也一并受用。在编程方面有着天赋异禀的人毕竟是少数,我们大多数人想要从C语言小白进阶到高手,需要经历的是日积月累的学习。那么如何学习呢?当然是每天都练习一道C语言题目!!

C语言 | 求1!+2!+3!+...20!_C语言


作者

闫小林

白天搬砖,晚上做梦。我有故事,你有酒么?


例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
请按任意键继续. . .