|
发表于 2020-9-23 23:28:44
|
显示全部楼层
本楼为最佳答案
如果只是求中位数的话,六次就够了,排序才需要七次
- #include<stdio.h>
- int main()
- {
- int a,b,c,d,e;
- int max1,max2,min1,min2;
- scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);
- if (a>b)//第一次
- max1=a,min1=b;
- else
- max1=b,min1=a;
- if (c>d)//第二次
- max2=c,min2=d;
- else
- max2=d,min2=c;
- if (max1>max2)//第三次
- if (min1>e)//第四次
- if(min1>max2)//第五次
- if(max2>e)//第六次
- printf("中位数是:%d",max2);
- else
- printf("中位数是:%d",e);
- else
- if(min1>min2)//第六次
- printf("中位数是:%d",min1);
- else
- printf("中位数是:%d",min2);
- else
- if(e>max2)//第五次
- if(max2>min1)//第六次
- printf("中位数是:%d",max2);
- else
- printf("中位数是:%d",min1);
- else
- if(min2>e)//第六次
- printf("中位数是:%d",min2);
- else
- printf("中位数是:%d",e);
- else
- if (min2>e)//第四次
- if(min2>max1)//第五次
- if(max1>e)//第六次
- printf("中位数是:%d",max1);
- else
- printf("中位数是:%d",e);
- else
- if(min2>min1)//第六次
- printf("中位数是:%d",min2);
- else
- printf("中位数是:%d",min1);
- else
- if(e>max1)//第五次
- if(max1>min2)//第六次
- printf("中位数是:%d",max1);
- else
- printf("中位数是:%d",min2);
- else
- if(min1>e)//第六次
- printf("中位数是:%d",min1);
- else
- printf("中位数是:%d",e);
- return 0;
- }
复制代码 |
|