c语言题计算奇数偶数分别多少个中用do while循环和while循环的问题

求分别计算奇数和偶数有多少个,第二张图用了while循环但是没有拿全分,扣了三分,第三张图的输出老是奇数个多一个,第四张图做对了但是自己也不是很懂,不懂do while循环最后输入-1应该不会影响奇数的个数啊?

img

img

img

请你用代码块把代码放进去。