这是个求中位数的题目 (6-11 求自定类型元素序列的中位数 )
萌新想问一下既然这个定义的数组是A[10]为什么超过10个的数据也可以处理呢,我用visual C++ 的时候得出结果同时报错了,但是PTA还是算它通过了(只是超时了)
#include <stdio.h>
#define MAXN 10
typedef float ElementType;
ElementType Median( ElementType A[], int N );
int main ()
{
ElementType A[MAXN];
int N, i;
scanf("%d", &N);
for ( i=0; i<N; i++ )
scanf("%f", &A[i]);
printf("%.2f\n", Median(A, N));
return 0;
}
ElementType Median( ElementType A[], int N )
{int i,j,k;
float t;
for(i=0;i<N;i++)
{for(j=1;j<N-i;j++){
if(A[i]>A[i+j]){
t=A[i];
A[i]=A[i+j];
A[i+j]=t;
}
}}
k=N/2;
return A[k];
}