#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");
}
是编译按钮不能按?建工程了没