编写用于计算C中的最小值,最大值,总和和平均值的函数

时间:2013-10-04 21:13:41

标签: c algorithm math max min

我需要编写一个名为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`

1 个答案:

答案 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