资源描述:
《实验8-9查找和排序应用.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验8、9查找、排序算法的应用姓名张鑫明学号A208班级B14512一、实验目的1.掌握查找的不同方法,并能用高级语言实现查找算法。2.熟练掌握顺序表和有序表的顺序查找和二分查找方法。3.掌握排序的不同方法,并能用高级语言实现排序算法。4.熟练掌握顺序表的选择排序、冒泡排序和直接插入排序算法的实现。二、实验内容1.在文件中存储如下学生信息:学号姓名数据结构程序设计1王立76882张秋88773刘丽79654王通86855赵阳71906李艳68707钱娜89958孙胜60762.创建顺序查找表,读取文件中的信息。3.使用顺序查找方法按姓名查找学生。如果查找成功,则显示该生的相关信息;如果查
2、找不成功,则给出相应的提示信息。4.使用二分查找方法,查找学生学号信息。如果查找成功,则显示该生的相关信息;如果查找不成功,则给出相应的提示信息。5.使用直接插入排序方法,对学生信息中的姓名进行排序。输出排序前和排序后的学生信息表,验证排序结果。6.使用直接选择排序方法,对学生信息中的数据结构成绩进行排序。输出排序前和排序后的学生信息表,验证排序结果。7.使用冒泡排序方法,对学生信息中的程序设计成绩进行排序。输出排序前和排序后的学生信息表,验证排序结果。8.编写一个菜单,来实现各项功能的选择。*******************学生成绩管理系统******************1.信
3、息初始化2.顺序查找**3.二分查找4.直接插入排序**5.冒泡排序6.直接选择排序**0.退出*****************************************************9.利用工程完成本次实验任务,各个功能分别放到一个函数中。三、实验结果Main()#include"sdaf.h"intmain(intargc,char*argv[]){stua[8]={{1,"王立",76,88},{2,"张秋",88,77},{3,"刘丽",79,65},{4,"王通",86,85},{5,"赵阳",71,90},{6,"李艳",68,70},{7,"钱娜",89,
4、95},{8,"孙胜",60,76}};FILE*pf=NULL;pf=fopen("D://test.txt","w");//假设test.txt文件为空if(!pf){printf("打开文件失败,程序退出!");exit(1);}for(inti=0;i<8;i++)fprintf(pf,"%d%s%d%d",a[i].num,a[i].name,a[i].s1,a[i].s2);if(pf)//关闭文件{fclose(pf);pf=NULL;printf("数据已写入test.txt文件!");}stub[8];pf=fopen("D://test.txt","r");/
5、/打开文件,按读的方式打开for(intj=0;j<8;j++)fscanf(pf,"%d%s%d%d",&b[j].num,&b[j].name,&b[j].s1,&b[j].s2);//循环读if(b[7].num==8)cout<<"读取成功"<6、<>cc;while(cc>6
7、
8、cc<0){cout<<"输入错误请重新输入"<>cc;}switch(cc){case1:{cout<<"初始化成功"<>aa;S_search(b,aa);break;}case3
9、:{cout<<"请输入要查找的数字"<>bb;binary_search(b,bb);break;}case4:{cout<<"按姓名排序"<