软件技术基础 查找和搜索 上机报告
《软件技术基础 查找和搜索 上机报告》由会员分享,可在线阅读,更多相关《软件技术基础 查找和搜索 上机报告(5页珍藏版)》请在装配图网上搜索。
1、第五次上机报告姓名:阚姗蕾 学号:2010012030037ex5_1:查找一、程序流程说明 设有序序列的数据元素为:(3,10,13,17,40,43,50,70)1)编写顺序查找函数2)编写二分查找函数3)在主程序中输入关键字(43和5),分别调用两种查找函数,输出结果。二、程序代码#include#include/顺序查找int seq_search(int a,int k,int n) int i = 0; while(ai!= k)i+; if(in) printf(searching sucdess); return(i); else printf(searching failed
2、); return(-1); /二分查找int bin_search(int a,int k,int n) int low,high,mid; low = 0; high = n-1; while(low = high) mid = (low + high) / 2; if(amid = k) printf(searching sucdess); return(mid); else if(amid0) printf(nThe location of the key is %dn,l); printf(Please enter the key.n); scanf(%d,&k); if(l = b
3、in_search(a,k,8)0) printf(nThe location of the key is %dn,l);三、上机时遇到的问题1)错误现象:E:ACMcs.cpp(4) : error C2065: a : undeclared identifier原因:函数中数组没有定义解决办法:在形参前面补充数据类型int2)现象:输入关键字后意外关闭原因:顺序查找是i没有进行初始化解决办法:初始化i=0四、输入与输出Please enter the key.43searching sucdessThe location of the key is 1Please enter the ke
4、y.5searching failedProcess returned 0 (0x0) execution time : 12.517 sPress any key to continue.ex5_2:排序一、程序流程说明1)编写简单选择法函数2)编写直接插入法函数3)编写冒泡法排序函数4)在主程序中输入一组数据元素(513,87,512,61,908,170,897,275,653,462),分别调用三种排序函数,输出每趟排序结果。 二、程序代码#include#include/简单选择法void select_sort(int table,int n) int h=0,j,min,temp
5、; while(hn) j=h; min=j; while(jn) if(tablejtablemin) min=j; j+; temp = tableh; tableh = tablemin; tablemin = temp; h+; /直接插入法void insert_sort(int table,int n) int tag=1,temp,j; while(tag -1) if(temp tablej) tablej+1=tablej; else tablej+1 = temp; break; j-; if(j0)table0 = temp; tag+; /冒泡排序void bubble
6、_sort(int table,int n) int i,j,t; for(i=0; in-1 ; i+) for(j = i; j tablej+1) t = tablej; tablej = tablej+1; tablej+1 = t; int main() int i; int table10= 0; printf(Please input the table:n); for(i=0; i10; i+)scanf(%d,&tablei); printf(After select sort:n); select_sort(table,10); for(i=0; i10; i+) prin
7、tf(%d ,tablei); printf(n); printf(Please input the table:n); for(i=0; i10; i+) scanf(%d,&tablei); printf(After insert sort:n); insert_sort(table,10); for(i=0; i10; i+) printf(%d ,tablei); printf(n); printf(Please input the table:n); for(i=0; i10; i+)scanf(%d,&tablei); printf(After bubble sort:n); bu
8、bble_sort(table,10); for(i=0; i10; i+)printf(%d ,tablei); printf(n);三、上机时遇到的问题现象:After bubble sort:513 513 513 513 908 908 908 908 908 908原因:tablei与tablej交换的时候三行语句顺序有误解决办法:调整语句顺序四、输入与输出Please input the table:513 87 512 61 908 170 897 275 653 462After select sort:61 87 170 275 462 512 513 653 897 908
9、Please input the table:513 87 512 61 908 170 897 275 653 462After insert sort:61 87 170 275 462 512 513 653 897 908Please input the table:513 87 512 61 908 170 897 275 653 462After bubble sort:87 61 170 275 462 512 513 653 897 908请按任意键继续. . .总结有了前几次写上机题的经验,这次上机时比较顺利的。个人感觉在这次上机中对于C语言的要求较低(或者是因为我没有选择比较复杂的数据结构),而对于算法的透彻理解非常重要。
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。