东北大学C语言实验报告数组
C语言程序设计实验报告
实验名称数组学 院资源与土木工程专业班级采矿1201姓 名杨林学 号任课教师柳秀梅实验时间2013年5月14日星期二
实验目的
熟练掌握一维数组、二维数组的定义、初始化和输入、输出方法;
熟练掌握字符数组和字符串函数的使用;
熟练与数组有关的常用算法(如查找、排序等)。
实验内容
设定一个整型数组存放20个元素,采用直接赋值的方法在程序中初始化该数组(假设这些数组已排序);
用scanf函数输入一个要找的数值;
对查找的结果给出相应的说明,如果找到该数值,则输出“Found”信息,并给出该数是数组中的第几个元素。如果该数值不在数组中,则输出“Not found”信息。
算法描述流程图
N
Y
Y
N
N Y
N
Y
源程序
测试数据
测试数据3,5 16
运行结果
当测试数据为3时
当测试数据为5时
当测试数据为16时
出现问题及解决方法
当在数组a[20]中找到输入的数时,无法结束循环,加入break语句后即解决此问题。
实验心得
通过本次实验掌握了折半查找法的基本步骤,能从一个数组中找出所需要的数,并且能熟练运用break语句。
开始
变量声明a[20]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20},
x=0,y=10,p=0,n,t
输入n
x
t=(x+y)/2
n==a[t]?
n>a[t]?
p==1?
x=t+1
y=t+1
输出“Found”
输出“The location is ”
结束
输出“Not found”