望远
#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