1 .在给定的程序中,函数fun的功能是从任意给定的9个正整数中找出升序排列时位于中间的数,在原始数据序列中将小于中间数的数用中间数替换,位置不变,向主函数输出处理后的数据序列
例如,有9个正整数: 1 5 7 23 87 5 8 21 45
按升序排列时的中间数为8
处理后的主函数输出的数列为88238782145
#include stdio.h
#define N 9
intfun(intx[] ) )。
{ int i,j,k,t,mid,b[N];
for(I=0; iN; I ) b(I )=x ) I );
for(I=0; i=N/2; I )
{ k=i;
for(j=I1; jN; j ) if ) b[k]b[j] ) k=j;
if(k!=i )
{
/*******found***********/
t=b[i]; b[i]=___1___; b[k]=t;
() ) ) ) )。
() ) ) ) )。
/*******found***********/
mid=b[___2___];
for(I=0; iN; I )
/*******found***********/
if(x[I]__3__mid ) x[i]=mid;
返回mid;
() ) ) ) )。
main ( ) )
{ int i,x [ n ]={ 1,5,7,23,87,5,8,21,45 };
for(I=0; iN; I ) printf(\’%d \’,x[i];
printf((nthemiddatais:%d(n ),fun ) x );
for(I=0; iN; I ) printf(\’%d \’,x[i];
打印( ( n );
() ) ) ) )。
知识点:数组排序
分析:排序数组
原理:选择法排序
先取数组中的第一个数,将最小的数放在下标为I的位置。 也就是说,第一次放在下标为0的位置,第二次放在下标为1的位置等。 实现升序排列。
提示:用下标引用数组中的数据
填补1 :使用中间变量t,实现两个变量的交换,所以填补: b[k]
填充( mid用于存储数组的中间数据,填写的N/2
空栏补充3 :小于号码
自考资料网:建议开通永久VIP超级会员更划算,除特殊资源外,全站所有资源永久免费下载
1. 本站所有网课课程资料来源于用户上传和网络收集,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,助力考生上岸!
3. 如果你想分享自己的经验或案例,可在后台编辑,经审核后发布在“自考资料网”,有下载币奖励哦!
4. 本站提供的课程资源,可能含有水印,介意者请勿下载!
5. 如有链接无法下载、失效或广告,请联系管理员处理(在线客服)!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 星光不问赶路人,岁月不负有心人,不忘初心,方得始终!