可能重复:
与浮点文字比较的奇怪输出
所以程序只是读入一堆数字,然后通过除以输入的总数来找到平均值。但是,最终结果最后会增加几个小数,我不确定为什么会这样。
对于这个给定的输入:483、10、3051、188、200、0
输出应该是 786.4 但它是 786.400024。我究竟做错了什么?先谢谢各位了。
int main(int argc, char** argv)
{
int averageOfNumbers = 0;
printf("Enter the sequence of numbers:");
int nextNumber;
float numberCounter = 0;
do
{
scanf("%d", &nextNumber);
if(nextNumber > 0)
{
numberCounter++;
averageOfNumbers += nextNumber;
}
}
while(nextNumber > 0);
float finalAverage = (float) (averageOfNumbers/numberCounter);
averageOfNumbers = averageOfNumbers/numberCounter;
printf("Average of the numbers in the sequence is %f\n", finalAverage);
}