我想在此代码中避免'浮点错误。
此代码的目的是获得“整数的平均值”,但“整数”的数量受用户输入的限制。请帮帮我。
#include <stdio.h>
int main(void)
{
int num=0;
int limit;
int result=0;
printf("number of integer: ");
scanf("&d", &limit);
while(num<limit)
{
int output;
printf("Input integer : ");
scanf("%d", &output);
result += output;
num++;
}
printf("average of total integer: %d \n", result/limit);
return 0;
}
感谢您的阅读。
答案 0 :(得分:3)
当你除2个整数时,结果也是一个整数。
要返回一个浮点数,您需要将其中一个参数转换为浮点数。
所以你的最后一行变成了
printf("average of total integer: %f \n", result/(float)limit);
答案 1 :(得分:1)
由于两个integer
除法的结果也是一个整数,所以它为
printf("average of total integer: %f \n", result/(float)limit);
当您输入变量limit
以展开浮动时,result
将隐式转换为float
,因此结果为float
。