【发布时间】:2012-11-15 19:12:42
【问题描述】:
这段代码现在做了什么:我给出 int 值并计算它们之间的平均值。 我花了几个小时试图让它做的事情:我试过让它计算双精度值之间的平均值。我已经尝试了所有方法,但总是失败或进入无限循环或无法编译。
问题:那么我应该如何修改我的代码以使其适用于双值/数字?
#include <stdio.h>
void main()
{
int Tau[10]={0,0,0,0,0,0,0,0,0,0};
int r, i = 0;
int m = 0;
int huku = 0;
do{
printf("Enter numbers: ");
scanf_s("%d", &i);
Tau[m]+=i;
huku++;
}while(i != 0);
r = (Tau[m]/(huku-1));
printf("The average of your numbers is; %d\n", r);
}
【问题讨论】:
-
对于初学者,您永远不会增加计数器变量“m”,因此您始终只是添加到 Tau[0],而将其他 9 个变量保留为零。
-
Tau数组的原因是什么?您只使用它的第一个元素。您可以将其替换为单个 int。 -
查看整数除法的工作原理。制作一个较小的测试用例,看看它是否按您期望的方式工作。