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

实际问题解答

冷锋2048 发布于 2015-11-10 17:57, 1293 次点击
有三个集邮册。A中有全部的2/10,B中有不知道是全部的七分之几,C中有303张,问邮票总数和各册的邮票数?
            int i,a,b;
            float s=0,n;
            for (i = 1; i <= 7;i++ )
            {
                n = 1 - 2 / 10 - i / 7;
                s = 303 / n;
                if (s % 1 == 0)
                {
                    Console.WriteLine("总数为{0}", s);
                    break;
                }
            }
            a = (int)s * (2 / 10);
            Console.WriteLine("A有{0}", a);
            b = (int)s - a - 303;
            Console.WriteLine("B有{0}", b);
            Console.WriteLine("C有303");
            Console.ReadKey();
我很好奇我哪里错了,请前辈指教!!!
1 回复
#2
over12302015-11-14 13:52
n = 1 - 2 / 10 - i / 7;
s = 303 / n;

改成:  s=303.0*70/(56-10*i);

a = (int)s * (2 / 10);
改成:a = (int)(s * 2 / 10);
 s、n的类型改为double

你那算不出来的原因是计算 n时,后面做的是整数运算,n只会出现0、和1.0两个值。
1