买 A种票的有多少人?这题应有答案,A种票为30人,但为什么运行这个程序没有输出结果呢?
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/31 21:34:03
买 A种票的有多少人?这题应有答案,A种票为30人,但为什么运行这个程序没有输出结果呢?
一辆汽车共载客 50人,其中一部分人买 A种票,每张 0.80元;另一部分人买 B种票,每张 0.30元.售票员最后统计出:所卖的 A种票比卖 B种票多收入 18元.
![](http://img.wesiedu.com/upload/5/eb/5ebc7c411101d9454f4f7cabf2ab88e1.jpg)
一辆汽车共载客 50人,其中一部分人买 A种票,每张 0.80元;另一部分人买 B种票,每张 0.30元.售票员最后统计出:所卖的 A种票比卖 B种票多收入 18元.
![](http://img.wesiedu.com/upload/5/eb/5ebc7c411101d9454f4f7cabf2ab88e1.jpg)
![买 A种票的有多少人?这题应有答案,A种票为30人,但为什么运行这个程序没有输出结果呢?](/uploads/image/z/17415252-36-2.jpg?t=%E4%B9%B0+A%E7%A7%8D%E7%A5%A8%E7%9A%84%E6%9C%89%E5%A4%9A%E5%B0%91%E4%BA%BA%3F%E8%BF%99%E9%A2%98%E5%BA%94%E6%9C%89%E7%AD%94%E6%A1%88%2CA%E7%A7%8D%E7%A5%A8%E4%B8%BA30%E4%BA%BA%2C%E4%BD%86%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%90%E8%A1%8C%E8%BF%99%E4%B8%AA%E7%A8%8B%E5%BA%8F%E6%B2%A1%E6%9C%89%E8%BE%93%E5%87%BA%E7%BB%93%E6%9E%9C%E5%91%A2%3F)
楼主,这个程序原理上是行的通的,但是,在实际运算过程中,会有少少问题,那就是浮点数的比较问题.即是算术上,来说,如果 0.8*a == 0.3*b+18是正确的,但在浮点数比较过程中却不一定.比如一个浮点数 f = 1.0,但在计算机内存中,可能是 1.0000000001或者0.99999999之类的(跟精度有关).
所以,这个题目中,0.8*a == 0.3*b+18可能会因为浮点数运算结果出来不等(尤其是在精度比较低的机器上运行),在精度较高的机器上出错的概率会低一些.
所以建议这种问题,最好是用int进行运算而不要用浮点运算.如判断条件改为
if (8 * a == 3 * b + 18 * 10)
如果非要使用浮点数比较,那最好设定一个精度范围进行比较,如
double xa = 0.8 *a;
double xb = 0.3 * b + 18;
if (xa - 0.0000001 < xb && xa + 0.0000001 > xb) // 认为 xa == xb;其中0.0000001决定于你需要的精度范围.
所以,这个题目中,0.8*a == 0.3*b+18可能会因为浮点数运算结果出来不等(尤其是在精度比较低的机器上运行),在精度较高的机器上出错的概率会低一些.
所以建议这种问题,最好是用int进行运算而不要用浮点运算.如判断条件改为
if (8 * a == 3 * b + 18 * 10)
如果非要使用浮点数比较,那最好设定一个精度范围进行比较,如
double xa = 0.8 *a;
double xb = 0.3 * b + 18;
if (xa - 0.0000001 < xb && xa + 0.0000001 > xb) // 认为 xa == xb;其中0.0000001决定于你需要的精度范围.
如下图所示程序,运行后输出的结果为多少?是-17吗?
列程序运行后的输出结果为?
下列程序运行后的输出结果.
已知字母A的ASCII码为65,程序运行后的输出结果是:
已知字符“A”的ASCII值为65,以下程序运行后的输出结果是?
这个程序怎么我把a输入的非常小的时候还是不能运行出the equation is not quadratic这个结果呢?
下面这个程序有什么错?为什么运行出来的z(i,j)总是为0呢? lingo
运行下面的程序,如果键盘上输入: ab c def 则输出结果为____.
(2012•蓝山县模拟)如图所示程序框图运行后输出的结果为( )
(高一数学算法初步)运行如下的程序,输出结果为
这个程序为什么运行不了呢.
写出下列每个程序运行后的输出结果