[问题] 不定个数正整数取平均

楼主: stayhungry (跳跳跳跳虎)   2019-02-28 12:53:03
开发平台(Platform): (Ex: Win10, Linux, ...)
Windows 8.1
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
Code Blocks 17.12
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
请问一下
当输入为0时不会进入while循环,所以count的值维持=0,预期应该要印出N/A
当输出1 2 3 0时,总共进入循环3次,预期的平均值为(1+2+3)/3=2.000000
实际上印出1.500000
当输入2 2 2 2 0时,预期平均值为(2+2+2+2)/4=2.000000
实际上印出1.600000
由结果推断count的值 似乎都比预期的值多1?
请问问题出在哪里呢?
先谢谢大大不吝指导
喂入的资料(Input):
第一笔input: 0
第二笔input: 1 2 3 0
第三笔input: 2 2 2 2 0
预期的正确结果(Expected Output):
第一笔output: N/A
第二笔output: 2.000000
第三笔output: 2.000000
错误结果(Wrong Output):
第一笔output: 0.000000
第二笔output: 1.500000
第三笔output: 1.600000
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
https://pastebin.com/a1nsTruC
补充说明(Supplement):
作者: sun409 (DontGoXX)   2019-02-28 13:15:00
输入 0 的时候,count 还是 + 1 了
作者: loveme00835 (发箍)   2019-02-28 13:15:00
第一次判断 number 值的时候, 值是从哪里来的?
楼主: stayhungry (跳跳跳跳虎)   2019-02-28 13:28:00
看懂了!要scanf 完才能判断有没有等于0 谢谢两位大大
作者: allensheng (上将帽子)   2019-02-28 17:16:00
count多了1
作者: Vent (Avec le Vent)   2019-02-28 17:18:00
num不给初值就判断是不是不太好啊
作者: loveme00835 (发箍)   2019-02-28 20:13:00
这边适合用 do-while 改写
楼主: stayhungry (跳跳跳跳虎)   2019-02-28 20:30:00
谢谢大家,后来改写成这样,进循环之前先执行一次scanfhttps://pastebin.com/8bkJZ9Bwdo while的写法我再想想看do-while 的写法也懂了 谢谢https://pastebin.com/s6BSf9es
作者: loveme00835 (发箍)   2019-03-01 00:46:00
scanf 也有回传值, 也可以一起做判断

Links booklink

Contact Us: admin [ a t ] ucptt.com