鱼C论坛

 找回密码
 立即注册
查看: 2024|回复: 6

希望大家帮我看看,求围观,

[复制链接]
发表于 2013-7-21 16:05:43 | 显示全部楼层 |阅读模式
1鱼币
#include<math.h>
#include<stdio.h>
void main()
{
int i;
   double sum,y;
sum=0;
for(i=1;i<=100;)
{      
            y=1/i;
   if(i%2==0)
        
    sum=sum-y;
  else
   sum=sum+y;
  i++;
  }

      printf("%lf\n",sum);
}
我看了好久了,运行出来都是1希望大家帮我看看了

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-21 16:16:31 | 显示全部楼层
y=1/i;
改为
y=1.0/i;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-22 17:53:59 | 显示全部楼层
这跟1和1。0有什么关系?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-22 21:09:34 | 显示全部楼层
给你分析一下:
i 为整型,1也是,1/i 的结果还是整型。
i = 1              y = 1/i = 1/1 = 1
i = 2              y = 1/i = 1/2 = 0
i = 3              y = 1/i = 1/3 = 0
           …………
所以 sum 最后等于 1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-7-23 12:05:15 | 显示全部楼层
同意楼上的见解……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-8-10 15:32:46 | 显示全部楼层
就一个小问题
1/i 是整形的 整形的话会去掉小数部分所以
i = 1  y = 1/1 = 1
i = 2  y = 1 / 2 = 0.5 错应为是整形 所以会把小数点后的全部去掉就是0
i = 3 ......
所以sum = 1 + 0 + 0 + 0 +...... = 1
申请最佳啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-23 10:14:41 | 显示全部楼层
{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 08:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表