【发布时间】:2019-02-16 23:44:30
【问题描述】:
我需要打印用户输入数组的总和和平均值。所以如果用户输入 2,4,6,9,10 它应该打印 6。 但是,循环结束后,我的 printf 没有打印任何内容。
即使我将 printf 放入数组中,它也只会打印出 0。
#include <stdio.h>
#include <math.h>
int main()
{
int i;
double num[6],average, sum=0, closest;
printf("Enter 6 doubles\n");
for (i=0; i<6; i++)
{
scanf("%lf",&num[i]);
sum += num[i];
}
average = sum/i;
printf("Average %d", average);
}
【问题讨论】:
-
在
printf("Average %d", average);行中,您需要使用格式说明符%f来打印双精度。如果您使用 gcc 作为编译器,您可以使用编译器标志-Wall进行编译以查看相应的警告。 -
也尝试添加
\n-->printf("Average %e\n", average);"%e"在调试方面比"%e"提供更多信息。