365文库
登录
注册
2

C语言数组元素的查询

297阅读 | 12收藏 | 6页 | 打印 | 举报 | 认领 | 下载提示 | 分享:
2
C语言数组元素的查询第1页
C语言数组元素的查询第2页
C语言数组元素的查询第3页
C语言数组元素的查询第4页
C语言数组元素的查询第5页
C语言数组元素的查询第6页
福利来袭,限时免费在线编辑
转Pdf
right
1/6
right
下载我编辑的
下载原始文档
收藏 收藏
搜索
下载二维码
App功能展示
海量免费资源 海量免费资源
文档在线修改 文档在线修改
图片转文字 图片转文字
限时免广告 限时免广告
多端同步存储 多端同步存储
格式轻松转换 格式轻松转换
用户头像
止戈 上传于:2024-06-27
C语言数组元素的查询 在实际开发中,经常需要查询数组中的元素。例如,学校为每位同学分配了一个唯一的编号,现在有一个数组,保存了实验班所有同学的编号信息,如果有家⻓想知道他的孩子是否进入了实验班,只要提供孩子子的编号就可以,如果编号和数组中的某个元素相等,就进入了实验班,否则就没进入.不幸的是,C语言标准库没有提供与数组查询相关的函数,所以我们只能自己编写代码。 对无序数组的查询所谓无序数组,就是数组元素的排列没有规律。无序数组元素查询的思路也很简单,就是用循环遍历数组中的每个元素,把要查 询的值挨个比比较一遍。请看下面的代码: #include #include int main(){ int nums[10] = {1, 10, 6, 296, 177, 23, 0, 100, 34, 999}; int i, num, subscript = -1; printf("Please input an integer: "); scanf("%d", &num); for(i=0; i<10; i++){ if(nums[i] == num){ subscript = i; break; } } if(subscript<0){ printf("%d isn't in the array.
", num); }else{ printf("%d is in the array, and it's subscript is %d.
", num, subscript); } system("pause"); return 0; } 运行结果: Please input an integer: 100 100 is in the array, and it's subscript is 7. 或者 Please input an integer: 28 28 isn't in the array. 这段代码的作用是让用户输入一个数字,判断该数字是否在数组中,如果在,就打印出下标。 第10~15行代码是关键,它会遍历数组中的每个元素,和用户输入的数字进行比较,如果相等就获取它的下标并跳出循环。 注意:数组下标的取值范围是非负数,当 subscript >= 0 时,该数字在数组中,当 subscript < 0时,该数字不在数组中,所以在定义 subscript 变量时,必须将其初始化为一个负数。 对有序数组的查询 查询无序数组需要遍历数组中的所有元素,而查询有序数组只需要遍历其中一部分元素。例如有一个长度为10的型数组,它所包含的元素按照从小到大的顺序(升序)排列,假设比较到第4个元素时发现它的值大于输入的数字,那么剩下的5个元素就没必要再比比较了,肯定也大于输入的数字,这样就减少了循环的次数,提高了执行效率。 请看下面的代码: #include #include int ma
tj