寻找给定列表的中位数的C程序

PHPz
Lepaskan: 2023-09-14 13:21:08
ke hadapan
952 orang telah melayarinya

寻找给定列表的中位数的C程序

如果列表中的元素按顺序排列,则将列表中的元素分成两部分且两边元素数量相等的中间值称为中位数。

元素个数为奇数只有一个中间值;而;偶数个项目有两个中间值。

因此,偶数个项目的中位数被指定为两个中间值的平均值。

算法

请参考下面给出的算法来计算中位数。

步骤 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 ; } }
Salin selepas log masuk

用于查找列表中位数的逻辑如下 -

if ( n % 2 == 0) median = (a[n/2] + a[n/2+1])/2.0 ; else median = a[n/2 + 1];
Salin selepas log masuk

示例

以下是计算给定数字中位数的 C 程序 -

现场演示

#include #define N 10 main( ){ int i,j,n; float median,a[N],t; printf("Enter the number of items

"); scanf("%d", &n); /* Reading items into array a */ printf("Input %d values

",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("

Median is %f

", median); }

Salin selepas log masuk

输出

执行上述程序时,会产生以下输出 -

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
Salin selepas log masuk

Atas ialah kandungan terperinci 寻找给定列表的中位数的C程序. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!