Chinaunix首页 | 论坛 | 博客
  • 博客访问: 78941
  • 博文数量: 32
  • 博客积分: 1440
  • 博客等级: 上尉
  • 技术积分: 375
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-25 16:03
文章分类

全部博文(32)

文章存档

2010年(12)

2008年(20)

我的朋友

分类: C/C++

2008-07-16 15:21:36

求10!  (阶乘算法)
 
#include
int main()
{
       int i;
       float f=1;
       for(i=1;i<=10;i++)
       f=f*i;
       printf("10!\n",f);
}
 
思路:先求1!,然后在乘2得到2!,在乘3得3!.......
当i=1时候 for循环后 f=f*i=1
在for循环第二次的时候,i的值被变乘了2,因为在第一个循环中i++后i变成了2.
在进入f=f*i。这个时候f变成了上一次循环得到的值为1,所以f=f*i = 1*2=2
在进入第三次for循环,这时i的值在上次循环中i++变化了,值为3,哪么f的值为上一次操作的2
f=f*i=2*3。
以上面的解释继续循环下去
阅读(999) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~