从键盘输入一个不小于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; }