我想在C程序中避免“浮点错误”

时间:2014-04-01 10:28:11

标签: c

我想在此代码中避免'浮点错误。

此代码的目的是获得“整数的平均值”,但“整数”的数量受用户输入的限制。请帮帮我。

#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;
}

感谢您的阅读。

2 个答案:

答案 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