목록의 요소를 순서대로 배열한 경우 목록의 요소를 양쪽에 동일한 개수의 요소로 두 부분으로 나눈 중간 값을 중앙값이라고 합니다.
요소 수가 홀수이면 중간 값이 하나만 있고, 항목 수가 짝수이면 중간 값이 두 개가 됩니다.
따라서 짝수 항목의 중앙값은 두 개의 중간 값의 평균으로 지정됩니다.
중앙값을 계산하려면 아래 알고리즘을 참조하세요.
1단계 - 항목 수를 유지하면서 항목을 배열로 읽어옵니다.
2단계 - 항목을 오름차순으로 정렬합니다.
3단계 - 중앙값을 계산합니다.
중앙값을 찾기 전에 숫자를 정렬하는 논리는 다음과 같습니다.-
for (i = 1 ; i <= n-1 ; i++){ for (j = 1 ; j <= n-i ; j++){ if (a[j] <= a[j+1]){ t = a[j]; a[j] = a[j+1]; a[j+1] = t; } else continue ; } }
목록의 중앙값을 찾는 논리는 다음과 같습니다.-
if ( n % 2 == 0) median = (a[n/2] + a[n/2+1])/2.0 ; else median = a[n/2 + 1];
다음은 주어진 항목의 중앙값을 계산하는 C 프로그램입니다. number-
Live Demonstration
#include<stdio.h> #define N 10 main( ){ int i,j,n; float median,a[N],t; printf("Enter the number of items</p><p>"); scanf("%d", &n); /* Reading items into array a */ printf("Input %d values </p><p>",n); for (i = 1; i <= n ; i++) scanf("%f", &a[i]); /* Sorting begins */ for (i = 1 ; i <= n-1 ; i++){ /* Trip-i begins */ for (j = 1 ; j <= n-i ; j++) { if (a[j] <= a[j+1]) { /* Interchanging values */ t = a[j]; a[j] = a[j+1]; a[j+1] = t; } else continue ; } } /* sorting ends */ /* calculation of median */ if ( n % 2 == 0) median = (a[n/2] + a[n/2+1])/2.0 ; else median = a[n/2 + 1]; /* Printing */ for (i = 1 ; i <= n ; i++) printf("%f ", a[i]); printf("</p><p></p><p>Median is %f</p><p>", median); }
위 프로그램을 실행하면 다음과 같은 출력이 생성됩니다 -
Enter the number of items 5 Input 5 values 2.3 1.2 3.8 4.6 8.9 8.900000 4.600000 3.800000 2.300000 1.200000 Median is 3.800000
위 내용은 주어진 목록의 중앙값을 찾는 C 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!