程序设计基础(上) 张立红 13405330459(88028) QQ:2653453357 9#501
程序设计基础(上) 张立红 13405330459(88028) QQ:2653453357 9#501
第8章 数组
第 8 章 数 组
本章知识点 8.1一维数组的定义、引用与初始化 “数组名+一维下标”表示数据 8.2一维数组的应用 8.3二维数组 “数组名+二维下标”表示数据 8.4数组与函数
本章知识点 8.1 一维数组的定义、引用与初始化 “数组名+一维下标”-表示数据 8.2 一维数组的应用 8.3 二维数组 “数组名+二维下标”-表示数据 8.4 数组与函数
8.2一维数组的应用 8.2.4查找问题 实际应用中经常要从批量数据中去查询某个值,如果 存在-找到其在数组中的位置,这是常用工具软件都具备的 最基本的数据管理功能-查找操作。 【例8.9】顺序查找:在数组里存放着N个各不相同的整数。 要求:多组输入。 每次输入一个整数x,查找x在数组里是否存在,如果 存在返回其在数组的下标,如果不存在返回值为1。 分析: ①将被查数据与数组里的每一个元素逐个比较顺序查找。 ②因为要多次查找一定义一个函数完成查找过程。 ③ 在主函数中调用该自定义函数
实际应用中经常要从批量数据中去查询某个值,如果 存在-找到其在数组中的位置,这是常用工具软件都具备的 最基本的数据管理功能-查找操作。 8.2.4 查找问题 8.2 一维数组的应用 【例8.9】顺序查找:在数组里存放着N个各不相同的整数。 要求:多组输入。 每次输入一个整数x,查找x在数组里是否存在,如果 存在返回其在数组的下标,如果不存在返回值为-1。 分析: ① 将被查数据与数组里的每一个元素逐个比较-顺序查找。 ② 因为要多次查找-定义一个函数完成查找过程。 ③ 在主函数中调用该自定义函数
① include<stdio.h>W顺序查找 思考: ② #define N 10 ①找几个? ③ int search(int a[],int n,int x) ② 数组中有多个x怎么办? ④ int i; ⑤ for (i=0;i<n;i++) ① 多次查找 ⑥ if (a[i]==x)return i; ② while (scanf("%d",&x)!=EOF) ⑦ return -1; ③ f ⑧ k=search(b,N,x); ⑤ if(k==-1) ⑨ int main() ⑥ printf("Not Found!\n"); ⑩{ ⑦ else ① int i,k,x,b[N]; ⑧ printf("%d小n",k); ② for(i=0;i<=N-1;i++) ⑨ 02030405060788090100 scanf("%d",&b[i]); ⑩ ret 80 5000 Not Found! 恩 5/115
① #include <stdio.h> //顺序查找 ② #define N 10 ③ int search(int a[ ],int n,int x) ④ { int i; ⑤ for (i=0;i<n;i++) ⑥ if (a[i]==x) return i; ⑦ return -1; ⑧ } ⑨ int main() ⑩ { ⑪ int i,k,x,b[N]; ⑫ for(i=0;i<=N-1;i++) ⑬ scanf("%d",&b[i]); 5/115 ① //多次查找 ② while (scanf("%d",&x)!=EOF) ③ { ④ k=search(b,N,x); ⑤ if ( k==-1) ⑥ printf("Not Found!\n"); ⑦ else ⑧ printf("%d\n",k); ⑨ } ⑩ return 0; ⑪ } 思考: ① 找几个? ② 数组中有多个x怎么办?