好文档 - 专业文书写作范文服务资料分享网站

c语言程序设计实验报告

天下 分享 时间: 加入收藏 我要投稿 点赞

实验报告

专业班级: 学号: 姓名:

课程名称:C语言程序设计 1.实验内容: 编写函数,在一个元素已按由小到大的次序排列的整型数组中插入一个整数,要求插入后的数组元素仍是有序的。 2.实验方案(程序设计说明) 编写的函数中,利用二分检索法,找到元素应该被插入的位置并插入元素,再在主函数中调用该函数 流程图见第4、5页 3.实验步骤或程序(经调试后正确的源程序) #include #define N 50 void fun(int* a,int n,int x) /*参数为数组、元素个数和插入的值*/ { if(x>=a[n-1]) /*要插入的元素大于数组中所有元素*/ { a[n]=x; return; } if(x<=a[0]) /*要插入的元素小于数组中所有元素*/ { for(int j=n-1;j>=0;--j) /*把要插入元素后的所有元素向后移动一位,在插入要插入的元素*/ { a[j+1]=a[j]; } a[0]=x; return; } /*要插入的元素在数组之中的情况,用二分检索法*/ int k=0,m=n-1,mid; while(k<=m) { mid=(k+m)/2; if(x>=a[mid-1]&&x<=a[mid])

1

}

} { for(int i=n-1;i>=mid;--i) { a[i+1]=a[i]; } a[mid]=x; return; } else if(x>=a[mid]&&x<=a[mid+1]) { for(int i=n-1;i>=a[mid+1];--i) { a[i+1]=a[i]; } a[mid+1]=x; return; } if(a[mid]>x) m=mid-1; else k=mid+1; void main() { int a[N],u,v,P; printf(\输入一个按有小到大顺序排列的数组的元素个数\ scanf(\ printf(\输入要插入的值\ scanf(\ printf(\按由小到大的顺序输入数组元素\ for(int i=0;i

} printf(\插入v后的数组为:\for(int k=0;k

3

c语言程序设计实验报告

实验报告专业班级:学号:姓名:课程名称:C语言程序设计1.实验内容:编写函数,在一个元素已按由小到大的次序排列的整型数组中插入一个整数,要求插入后的数组元素仍是有序的。2.实验方案(程序设计说明)编写的函数中,利用二分检索法,找到元素应该被插入的位置并插入元素,再在主函数中调用该函数流程图见第4、5页3.实验
推荐度:
点击下载文档文档为doc格式
3z7xo14cmr9pugn7q9x7
领取福利

微信扫码领取福利

微信扫码分享