c语言编程 数组求中位数,编程求数组各元素的中位数,要求如下:

这是一个C++程序,它首先接收用户输入的8个double型数值,然后使用冒泡排序算法将这些数值从小到大排序。接着,程序计算排序后的数组的中位数,并打印出结果。最后,程序会输出排序后的完整数组。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

望远

#include 

void main()

{

//函数声明

void array_input(double a[], int n);

void bubble_sort(double a[], int n);

double median(double a[], int n);

void array_print(double a[],int n);

double arr[10],m;

int n=8;

array_input(arr,n);

bubble_sort(arr,n);

m=median(arr,n);

printf("中位数为%.3lf\n",m);

array_print(arr,n);

}

/**

输入double型数组a的各元素值,参数n是数组元素的个数

**/

void array_input(double a[], int n)

{

printf("请输入数据%d个数据(以空格分隔):\n",n);

for(int i=0;i

{

scanf("%lf",&a[i]);

}

}

/**

函数实现从小到大冒泡排序功能,参数n是数组元素的个数

**/

void bubble_sort(double a[], int n)

{

int i,j;

double temp;

for(i=0;i

{

for(j=i;j

{

if(a[i]>a[j])

{

temp=a[i];

a[i]=a[j];

a[j]=temp;

}

}

}

}

/**

求出有序数组array各元素的中位数,参数n是数组元素的个数

**/

double median(double a[], int n)

{

double result=0;

if(n%2==0)

{

result=(a[n/2]+a[n/2-1])/2;

}else{

result=a[n/2];

}

return result;

}

/**

打印输出数组

**/

void array_print(double a[],int n)

{

printf("数组从小到大打印输出为:\n");

for(int i=0;i

{

printf("%.3lf ",a[i]);

}

printf("\n");

}

1

0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值