东北大学c语言作业 数组,东北大学C语言实验报告数组.doc

东北大学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”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值