也不报错,就是编译不了,求平均数

#include <stdio.h>
#include <stdlib.h>

int main()
{
int a , i = 0, sum = 0;
int b=0;
float average;
printf("请输入:");
while (scanf("%d", &a)!=EOF)
{
sum += a;
i++;
printf("总和=%d,共%d个数\n",sum,i);
printf("是否继续输入是输入1否输入0");
scanf("%d", &b);
if (b) {
printf("请继续输入:");
}
else {
break;
}

}
average = float(sum/i);
printf("平均数=%f\n", average);
system("pause");

}

average = float(sum/i);

这一行需要修改为

average = (float)(sum/i);

不然float会被编译器认为是一个函数,而报找不到

PS:编译真的不报错吗?截图看看

问题不大,把sum改成double类型,while中输出sum的时候,把%d改成%g就可以了,我跑了一下,没啥问题
代码如下:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a , i = 0;
    double sum = 0;
    int b=0;
    float average;
    printf("请输入:");
    while (scanf("%d", &a)!=EOF)
    {
        sum += a;
        i++;
        printf("总和=%g,共%d个数\n",sum,i);
        printf("是否继续输入是输入1否输入0");
        scanf("%d", &b);
        if (b) {
            printf("请继续输入:");
        }
        else {
            break;
        }

    }
    average = float(sum/i);
    printf("平均数=%f\n", average);
    system("pause");
}

是编译按钮不能按?建工程了没