我需要编写一个名为void stat()的函数,其中用户输入我想要的双打,然后在完成后输入char。该函数应该计算并输出max,min,sum和average。除了分钟,我做了一切。请有人帮帮我。谢谢!!!
void stat(){
double x=0;
double min=0, max=0, sum=0, average=0,i=0;
int beenHere = 0;
printf("enter numbers for stat()\n");
while (scanf_s ("%lf", &x ) ==1 ){
if (!beenHere || max < x)
max = x;
sum += x;
i++;
average = sum/ i;
beenHere = 1;
}//while
printf("minimum: %f\n", max);
printf("maximum: %f\n", max);
printf("sum: %f\n", sum);
printf("average: %f\n", average);
}//stat`
答案 0 :(得分:1)
max 的伪代码:
double max = 0.0;
foreach element:
if element > max:
max = element; // consider it new max
与 min 的区别在于您需要从大值开始:
double min = MAX;
foreach element:
if element < min:
min = element; // consider it new min
其中MAX
是一个大于任何元素可能值的常量。
可能MAX
DBL_MAX
来自<float.h>
,其值约为1 x 10 37