输入10个数,输出其中与平均盾之差的绝对盾为最小的数?

img

img


请速答,本人实在不行不会,特来请教各路人才指点一二,本人万分感谢。

(1)#include <math.h>
(2)scanf("%f", &a[i])
(3)s = 0
(4)x = a[0]
(5)fabs(a[i] - s)

完整代码如下:



#include <stdio.h>
#include <math.h> //填空1
void main()
{
    float a[10], s, d, x;
    int i;
    for (i = 0; i < 10; i++) scanf("%f", &a[i]); //填空2

    s = 0; //填空3

    for (i = 0; i < 10; i++) s += a[i];
    s /= 10;
    
    d = fabs(a[0] - s); x = a[0]; //填空4
    for(i=1;i<10;i++)
        if (fabs(a[i] - s) < d)
        {
            d = fabs(a[i] - s); //填空5
            x = a[i];
        }
    printf("%f", x);
}

你可以参考下这篇文章:实现输入10个数,输出这10个数的和,平均值;输出该组数中数与数的最大差值;再输入一个数,然后确定它在这个数组中第一次出现的位置,如果没有该数则输出-1,否则输出其下标