-1

我需要编写一个名为 void stat() 的函数,在该函数中,用户可以根据需要输入我的双打,然后在完成后输入一个字符。该函数应该计算并输出最大值、最小值、总和和平均值。除了分钟,我什么都做了。有人可以帮我吗。谢谢你!!!

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`
4

1 回答 1

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是一个大于任何元素可能值的常数。
A 可能MAX来自DBL_MAX<float.h>其值约为 1 x 10 37

于 2013-10-04T21:21:30.840 回答