题目内容:
输入 n 个整数,求n个整数的均方差。若将 n个数的平均值记为 Avg,则均方差计算公式为:
输入格式:
首先在第一行输入一个正整数 N(),随后一行输入 N 个正整数。所有数字都不超过 100,数据之间以空格分隔。
输出格式:
输出这n个数的均方差,要求输出数据精度至小数点后4位。
输入样例:
10
6 3 7 1 4 8 2 9 11 5
输出样例:
3.0397
时间限制:500ms内存限制:32000kb
#include<stdio.h>
#include<math.h>
int main()
{
int n , a[ 100 ] , i , sum = 0 ;
double ave , cfsum = 0 ;
scanf( "%d" , &n ) ;
for( i = 0 ; i < n ; i++ )
{
scanf( "%d" , &a[ i ] ) ;
sum += a[ i ] ;
}
ave = sum * 1.0 / n ;
for( i = 0 ; i < n ; i++ )
cfsum += pow( a[ i ] * 1.0 - ave , 2 ) ;
printf( "%.4lf" , sqrt( cfsum / n ) ) ;
return 0 ;
}