论坛: 编程破解 标题: while与 for的区别在那里? 复制本贴地址    
作者: S_Admin [f_h]    论坛用户   登录
 一年级的时候,有一个习题如下:
  1+1/3+1/5+.........1/51 = 几多?
  我用 while 与 for 编写的程序竟有不同的结果, 至今不知道为什么?
  程序如下:
  /* while , TC2.0 */ 
  #include <stdio.h>
    main()
  {
    int i=3;
    flaot sum=0;
    while(i<=51)
    {
          sum+=1/(float)i;
          i+=2;
    }
  printf("The sum is %f", sum+1);
}
结果为多少不记得了, 我在网吧, 没有 TC 。Download ? 麻烦!!
/* for */
#include <stdio.h>
main()
{
  int i,
  float sum=0;
  for(i=3;i<=51;i+=2)
    sum+=1/(float)i;
  printf("The sum is %f", sum+1);
}


地主 发表时间: 04-03-26 22:54

回复: 啥都不会 [sniper167]   论坛用户   登录
都是2.610834

我觉得没啥区别

B1层 发表时间: 04-03-26 23:19

回复: S_Admin [f_h]   论坛用户   登录
不对啊, 这个结果我有。 还有另一个结果。

我总也想不明白。
下次再抄来写上吧

B2层 发表时间: 04-03-27 00:06

回复: zwwyk [zwwyk]   论坛用户   登录
我刚才算了一下,都是2.610834。

B3层 发表时间: 04-03-27 12:23

回复: 牙疼 [haowei111]   论坛用户   登录
FOR是几个 结果?

B4层 发表时间: 04-03-27 13:33

回复: S_Admin [f_h]   论坛用户   登录
今天我看了我以前做的作业,是我自己不仔细。错了一个地方。笨:::~~~
如下:
  for(i=3;i<=51;i++)
    { sum+=1/(float)i;
        i+=2;
    }
即 i 有错误。 真是不小心啊。


B5层 发表时间: 04-03-27 18:49

回复: 啥都不会 [sniper167]   论坛用户   登录
呵呵
下次细心

B6层 发表时间: 04-03-27 21:40

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号