반응형

사용자가 입력하는 10개의 실수 자료의 평균과 표준 편차를 계산하는 프로그램을 작성하라. 자료들은 난수를 생성하여서 작성된다.(정수로 생성하여서 실수로 변환하라). 평균은 n개의 실수가 주어져 있을 때, 다음과 같이 계산된다.

산술 평균은 가장 널리 쓰이며, 그냥 "평균"이라고도 한다.

출처 : https://ko.wikipedia.org/wiki/%ED%8F%89%EA%B7%A0
표준 편차는 분산의 양의 제곱근으로 분산은 다음과 같이 계산된다. 표준 편차는 자료가 평균값 주위에 어느 정도의 넓이로 분포하고 있는가를 나타내는 하나의 척도이다.
표준 편차 : 우선 n개의 자료값 x_1 , x_2, \cdot\cdot\cdot , x_n이 있다고 가정할 때 이 자료값의 평균(mean) m부터 구하면 m= \frac{x_1 + x_2 + \cdot \cdot \cdot + x_n } {n}로 표현된다. 다음에 각 자료값 x_i, i=1, 2, \cdot \cdot \cdot n에 대해 x_i -m을 평균 m에 대한 x_i의 편차(difference)라고 부른다. 이 편차들의 제곱의 평균인 

V= \frac{{(x_1 -m)}^{2} + {(x_2 -m)}^{2} + \cdot \cdot \cdot + {(x_n -m)}^{2} }{n} 를 x_1 , x_2, \cdot\cdot\cdot , x_n에 대한 분산(Varience)이라 부른다. 이 분산의 제곱근 \sigma= \sqrt{ \frac{{(x_1 -m)}^{2} + {(x_2 -m)}^{2} + \cdot \cdot \cdot + {(x_n -m)}^{2} }{n} } 을 표준편차라고 부른다.[4]
출처 : https://namu.wiki/w/%ED%91%9C%EC%A4%80%ED%8E%B8%EC%B0%A8


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <stdio.h>
#include <math.h>
#define SIZE 10
double average(int array[]);
double standard(int array[],double average);
int main(void)
{
    int a[SIZE]={0};
    int i;
    double x;
    for(i=0;i<SIZE;i++)
    {
    printf("정수를 입력하시오: ");
    scanf("%d"&a[i]);
    }
    x=average(a);
    printf("평균값은 %lf\n", x);
    printf("표준편차값은 %lf\n", standard(a,x));
    return 0;
}
double average(int array[])
{
double sum=0;
int i;
for(i=0;i<SIZE;i++)
{
sum+=(double)array[i];
}
return sum/SIZE;
}
double standard(int array[],double average)
{
double sum=0;
int i;
for(i=0;i<SIZE;i++)
{
    sum+=(((double)array[i]-average)*((double)array[i]-average));
}
    return sqrt((double)sum/SIZE);
}
 
cs




반응형

'컴퓨터 & 프로그래밍 & 전자공학 > C언어' 카테고리의 다른 글

벡터 합  (0) 2016.08.11
시험 점수 통계 처리  (0) 2016.08.11
제곱과 세제곱  (0) 2016.08.10
행열 합계 출력  (0) 2016.08.10
가장 많이 생성된 수  (0) 2016.08.10

+ Recent posts