从键盘输入一个不小于10的整数N 随机产生50到100的N个整数 求N个整数的中位数并输出结果
从键盘输入一个不小于10的整数N 随机产生50到100的N个整数
求N个整数的中位数并输出结果
程序代码:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void Swap(int a[],int i,int j)
{
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
void BubbleSorting(int a[],int len)
{
for(int i=0;i<len;i++)
{
for(int j=i+1;j<len;j++)
{
if(a[i]>a[j])
{
Swap(a,i,j);
}
}
}
}
int main()
{
srand((unsigned)time(NULL));
int N;
int* b;
printf("请输入数列长度N>=10:\n");
scanf("%d",&N);
b=(int*)malloc(N*sizeof(int));
int i=0;
for(i=0;i<N;i++) *(b+i)=rand()%50+50;
BubbleSorting(b,N);
for(int j=0;j<N;j++) printf("%d ",*(b+j));
if(N%2==0) printf("中位数是%.2lf\n",(*(b+N/2)+*(b+N/2-1))/2.0);else printf("中位数是%d\n",*(b+N/2));
free(b);
return 0;
}
