fork download
  1. #include <stdio.h>
  2. #define N 100
  3.  
  4. int aryInput(int*a)
  5. {
  6. int i=0;
  7.  
  8. while(1) {
  9. printf("in[%d]=",i);
  10. scanf("%d",a+i);
  11. if(a[i]<0)return i;
  12. i++;
  13. }
  14. }
  15.  
  16. void arySort(int*a,int n)
  17. {
  18. int i,j,t;
  19.  
  20. for(i=0; i<n-1; i++) {
  21. for(j=i+1; j<n; j++) {
  22. if(a[i]>a[j]) {
  23. t=a[i];
  24. a[i]=a[j];
  25. a[j]=t;
  26. }
  27. }
  28. }
  29. }
  30.  
  31. double aryMedian(int*a,int n)
  32. {
  33. return (n%2)?a[n/2]:(a[n/2-1]+a[n/2])/2.0;
  34. }
  35.  
  36. int main()
  37. {
  38. int ary[N],n,i;
  39.  
  40. n=aryInput(ary);
  41. arySort(ary,n);
  42. printf("中央値 = %g\n", aryMedian(ary,n));
  43.  
  44. return 0;
  45. }
Success #stdin #stdout 0.01s 1680KB
stdin
4
6
7
9
2
3
-1
stdout
in[0]=in[1]=in[2]=in[3]=in[4]=in[5]=in[6]=中央値 = 5