注册 登录
编程论坛 C# 论坛

为什么 输出为1

morepowerful 发布于 2015-11-01 11:45, 2050 次点击
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Question10
{
    class Program
    {
        static void Main(string[] args)
        {
            double i=1;
            double sum = 1;
            while(i<100)
            {
                sum=sum+i/(i+1);
                i++;
            }
            Console.WriteLine(sum);
        }
    }
}
7 回复
#2
zhaoxili2015-11-01 13:59
你这个计算要做什么 ? 你这个也不会输出1的吧 ?你加个短点  看看每次获取的数据 !
#3
SM13263917752015-11-01 15:56
您用的是天国的编译器吗...
#4
morepowerful2015-11-01 19:48
回复 2楼 zhaoxili
不是,错啦。 把那个  double i;改为int i;输出就是1  为什么
#5
hurui092015-11-02 19:48
回复 4楼 morepowerful
i是整型数  除以任何一个比它大的整型数结果都是0
#6
ankey8882015-11-03 20:32
i/i+1  始终为0,sum=sum+0,sum初始值为1 ,所有一直为1
#7
丨渊丨2016-01-25 19:12
i是int型的话   i/i+1 得到的结果就是0啊     sum=sum+0   ,所以输出的就是1喽

c# 的int型 如果 你的除数小于被除数  比如 2/4  得到的结果就是0
#8
哈啦休2016-11-14 21:23
你把第一个sum改成其他的,前面加个double a之类的
1