版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第5章2 5.1 数组概述数组概述 有如下几组数据,它们分别该如何存储呢?有如下几组数据,它们分别该如何存储呢? 一组具有一组具有相同数据类型相同数据类型的数据的的数据的有序集合。有序集合。一个班学生的学习成绩一个班学生的学习成绩一行文字一行文字一个矩阵一个矩阵这些数据的特点是:这些数据的特点是:1、具有相同的数据类型、具有相同的数据类型2、使用过程中需要保留原始数据、使用过程中需要保留原始数据 C语言为这些数据,提供了一种构造数据类型:数语言为这些数据,提供了一种构造数据类型:数组。组。3类型说明符类型说明符 数组名常量表达式;数组名常量表达式;例如:例如: intint a a1010;
2、 ; 它表示定义了一个整形数组,数组名为它表示定义了一个整形数组,数组名为a a,此数组有,此数组有1010个元个元素。素。(1 1)数组名定名规则和变量名相同,遵循标识符定名规则。)数组名定名规则和变量名相同,遵循标识符定名规则。(2 2)在定义数组时,需要指定数组中元素的个数,方括弧中的常量表达式)在定义数组时,需要指定数组中元素的个数,方括弧中的常量表达式用来表示元素的个数,即数组长度。用来表示元素的个数,即数组长度。这。这1010个元素是,个元素是,a a0 0,a a1 1,a a2 2,a a3 3,a a4 4,a a5 5,a a6 6,a a7 7,a a8 8,a a9 9
3、。请持别注意,按上面的定义,不存在数组元素请持别注意,按上面的定义,不存在数组元素a a1010。 5.25.2一维数组一维数组4(3 3)常量表达式中可以包括常量和符号常量,但不能包含变量常量表达式中可以包括常量和符号常量,但不能包含变量。也就是说,。也就是说,C C语言不允许对数组的大小作动态定义,即数组的语言不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。例如,下面这样定义数大小不依赖于程序运行过程中变量的值。例如,下面这样定义数组是不行的:组是不行的:intint n; n; scanf(“%d scanf(“%d,&n); &n); / /*
4、 *在程序中临时输入数在程序中临时输入数 组的大小组的大小 * */ / int int a an n; ; float a0;float a0;/ /* * 数组大小为数组大小为0 0没有意义没有意义 * */ / int int b(2)(3); b(2)(3); / /* * 不能使用圆括号不能使用圆括号 * */ / int int k, ak; k, ak; / /* * 不能用变量说明数组大小不能用变量说明数组大小* */ / 5一维数组:一维数组: floatfloat markmark100;100;mark0mark1mark2mark3. . . .mark9986.592
5、.077.552.0. . . .94.0低地址低地址 高地址高地址每个数据元素占用每个数据元素占用的字节数,就是的字节数,就是基基类型类型的字节数的字节数一个元素占一个元素占字节字节6数组名下标数组名下标下标可以是整型常量或整型表达式。例如下标可以是整型常量或整型表达式。例如: :a a0 0=a=a5 5+a+a7 7-a-a2 2* *3 3定义数组时用到的定义数组时用到的“数组名常量表达式数组名常量表达式” ” 和引和引用数组元素时用到的用数组元素时用到的“数组名下标数组名下标” ” 是有区别的是有区别的。例如例如 intint a10; a10; / /* * 定义数组长度为定义数组
6、长度为10 10 * */ / t=a6; t=a6; / /* * 引用引用a a数组中序号为数组中序号为6 6即第即第7 7 个元素。此时个元素。此时6 6不代表数组长不代表数组长 度度* */ /二、一维数组元素的引用二、一维数组元素的引用1 1、数组元素的引用方式:、数组元素的引用方式:72 2、一维数组元素引用的、一维数组元素引用的#include stdio.h#include void main()void main() int int i i,a a1010; ; for (i=0; i=9;i+) for (i=0; i=0; i-) for(i=9;i=0; i-) pri
7、ntf(%d printf(%d ,a ai i);); printf(n printf(n);); 运行结果如下:运行结果如下:9 8 7 6 5 4 3 2 1 09 8 7 6 5 4 3 2 1 0 程序使程序使a0到到a9的值为的值为09,然后按逆序输出。然后按逆序输出。8(1 1)在定义数组时对数组元素赋以初值。例如)在定义数组时对数组元素赋以初值。例如: :intint a a1010=0=0,1 1,2 2,3 3,4 4,5 5,6 6,7 7,8 8,9;9;将数组元素的初值依次放在一对花括弧内。经过上面将数组元素的初值依次放在一对花括弧内。经过上面的定义和初始化之后,的定
8、义和初始化之后,a a0 0=0=0,a a1 1=1=1,a a2 2=2=2,a a3 3=3=3,a a4 4=4=4,a a5 5=5=5,a a6 6=6=6,a a7 7=7=7,a a8 8=8=8,a a9 9=9=9。 三、一维数组的初始化三、一维数组的初始化9(3 3)如果想使一个数组中全部元素值为如果想使一个数组中全部元素值为0 0, 可以写成可以写成 intint a a1010=0,0,0,0,0,0,0,0,0,0; =0,0,0,0,0,0,0,0,0,0; 或或 intint a a1010=0;=0; 不不能写成能写成:intint a a1010=0=0*
9、*10;10;这是与这是与FORTRANFORTRAN语言不同的,不能给数组整体赋初值。语言不同的,不能给数组整体赋初值。 (2(2)可以只给一部分元素赋值。例如)可以只给一部分元素赋值。例如: :intint a a1010=0=0,1 1,2 2,3 3,4;4; 定义定义a a数组有数组有1010个元素,但花括弧内只提供个元素,但花括弧内只提供5 5个初值,这个初值,这表示只给前面表示只给前面5 5个元素赋初值,后个元素赋初值,后5 5个元素值为个元素值为0 0。10(4(4)在对全部数组元素赋初值时,由于数据的个数已在对全部数组元素赋初值时,由于数据的个数已经确定,因此可以不指定数组长
10、度。经确定,因此可以不指定数组长度。 例如例如: :intint a a5 5=1=1,2 2,3 3,4 4,5;5; 也可以写成也可以写成 int a=1,2,3,4,5; 在第二种写法中,花括弧中有在第二种写法中,花括弧中有5 5个数,系统就会据此个数,系统就会据此自动定义自动定义a a数组的长度为数组的长度为5 5。但若数组长度与提供初值。但若数组长度与提供初值的个数不相同,则数组长度不能省略。例如,想定义的个数不相同,则数组长度不能省略。例如,想定义数组长度为数组长度为1010,就不能省略数组长度的定义,而必须,就不能省略数组长度的定义,而必须写成写成 intint a a1010=
11、1=1,2 2,3 3,4 4,5; 5; 只初始化只初始化前前5 5个元素,后个元素,后5 5个元素为个元素为0 0。11用数组来处理)。用数组来处理)。#include #include #define SIZE 10#define SIZE 10void main()void main() int i; int i; float aSIZE,avg,sum=0; float aSIZE,avg,sum=0; for(i=0;iSIZE;i+) for(i=0;iSIZE;i+) scanf(%f,&ai); scanf(%f,&ai); sum=sum+ai; sum=s
12、um+ai; avg=sum/SIZE; avg=sum/SIZE; printf(avg=%.2fn,avg); printf(avg=%.2fn,avg); for(i=0;iSIZE;i+) for(i=0;iavg) if(aiavg) printf(%.2ft,ai); printf(%.2ft,ai); printf(n); printf(n); 12由于实参可以是表达式,而数组元素可以是表达由于实参可以是表达式,而数组元素可以是表达式的组成部分,因此数组元素也可以作为函数的实式的组成部分,因此数组元素也可以作为函数的实参,与用变量作实参一样,是单向传递,即参,与用变量作实参一样,
13、是单向传递,即“值传值传送送”方式。方式。 13#include #include void f(int x);void f(int x);void main()void main() int a5=1,2,3,4,5,i; int a5=1,2,3,4,5,i; for(i=0;i5;i+) for(i=0;i5;i+) printf(%dt,ai); printf(%dt,ai); printf(n); printf(n); for(i=0;i5;i+) for(i=0;i5;i+) f(ai); f(ai); printf(n); printf(n); for(i=0;i5;i+) fo
14、r(i=0;i5;i+) printf(%dt,ai); printf(%dt,ai); printf(n); printf(n); void f(int x)void f(int x) x*=2; x*=2; printf(%dt,x); printf(%dt,x); 数组元素作函数参数。数组元素作函数参数。 14 可以用数组名作函数参数,此时形参应当用数组名可以用数组名作函数参数,此时形参应当用数组名或用指针变量或用指针变量 。15(1)用数组名作函数参数,应该在主调函数和被调用函)用数组名作函数参数,应该在主调函数和被调用函数中分别定义数组。数中分别定义数组。(2)实参数组与形参数组类型
15、应一至。)实参数组与形参数组类型应一至。(3)形参数组可以不指定大小,在定义数组时在数组名)形参数组可以不指定大小,在定义数组时在数组名后面跟一个空的方括号。因为后面跟一个空的方括号。因为C语言编译时对形参数组语言编译时对形参数组的大小不做检查,只是将实参数组的首元素的地址传给的大小不做检查,只是将实参数组的首元素的地址传给形参数组。形参数组。(4)用数组名作函数实参时,不是把数组元素的值传递)用数组名作函数实参时,不是把数组元素的值传递给形参,而是把实参数组的首元素的地址传递给形参数给形参,而是把实参数组的首元素的地址传递给形参数组,这样两个数组共占同一段内存单元,这一点与变量组,这样两个数
16、组共占同一段内存单元,这一点与变量作函数参数的情况不相同。作函数参数的情况不相同。16#include #include #define SIZE 5#define SIZE 5void f(int b,int x);void f(int b,int x);void main()void main() int aSIZE=1,2,3,4,5,i; int aSIZE=1,2,3,4,5,i; printf(原数组为:n); printf(原数组为:n); for(i=0;iSIZE;i+) for(i=0;iSIZE;i+) printf(%dt,ai); printf(%dt,ai); pr
17、intf(n); printf(n); f(a,SIZE); f(a,SIZE); printf(修改之后的数组为:n); printf(修改之后的数组为:n); for(i=0;iSIZE;i+) for(i=0;iSIZE;i+) printf(%dt,ai); printf(%dt,ai); printf(n); printf(n); void f(int b,int x)void f(int b,int x) int i; int i; for(i=0;ix;i+) for(i=0;ix;i+)例例5.19:数组名作为函数参数。:数组名作为函数参数。17#include #includ
18、e void main()void main() void f(int y,int m,int d); void f(int y,int m,int d); int y,m,d; int y,m,d; printf(请输入年_月_日:); printf(请输入年_月_日:); scanf(%d_%d_%d,&y,&m,&d); scanf(%d_%d_%d,&y,&m,&d); f(y,m,d); f(y,m,d); void f(int y,int m,int d)void f(int y,int m,int d) int a13=0,31,2
19、8,31,30,31,30,31,31,30,31,30,31,i,s=d;int a13=0,31,28,31,30,31,30,31,31,30,31,30,31,i,s=d;for(i=1;im;i+)for(i=1;i2)if(m2)if(y%400=0 | (y%4=0 & y%100!=0) s+;if(y%400=0 | (y%4=0 & y%100!=0) s+;printf(%d年%d月%d号是该年的第%d天。n,y,m,d,s);printf(%d年%d月%d号是该年的第%d天。n,y,m,d,s); 1819#include #include #defin
20、e SIZE 11#define SIZE 11void main()void main() int aSIZE=0,x; int aSIZE=0,x; printf(请输入候选人的代号(1-10):n); printf(请输入候选人的代号(1-10):n); scanf(%d,&x); scanf(%d,&x); while(x!=-1) while(x!=-1) if(x=1 & x=1 & xSIZE) ax+; ax+; scanf(%d,&x); scanf(%d,&x); printf(n); printf(n); for(x=1;x
21、SIZE;x+) for(x=1;xSIZE;x+) printf(%3d:%3dn,x,ax); printf(%3d:%3dn,x,ax); 20 已知有已知有10个整数:个整数:24、56、8、47、63、82、27、15、90、39,编写一个程序,用选择法按照从小,编写一个程序,用选择法按照从小到大顺序输出。到大顺序输出。 从从n个数的序列中选出最小的数个数的序列中选出最小的数(递增递增),与第,与第1个数个数交换位置;交换位置; 除第除第1个数外,其余个数外,其余n-1个数再按个数再按(1)的方法选出次小的方法选出次小的数,与第的数,与第2个数交换位置;个数交换位置; 重复重复(1)
22、n-1遍,最后构成递增序列。遍,最后构成递增序列。21以以5个数为例,未排序时的情况如下:个数为例,未排序时的情况如下:a0 a1 a2 a3 a4 3 6 1 9 4(1) 将将5个数中最小的数个数中最小的数a2与与a0对换对换 1 6 3 9 4 (2) 将余下的将余下的4个数中最小的数个数中最小的数a2与与a1对换对换 1 3 6 9 4 (3) 将余下的将余下的3个数中最小的数个数中最小的数a4与与a2对换对换 1 3 4 9 6 (4) 将余下的将余下的2个数中最小的数个数中最小的数a4与与a3对换,至此完对换,至此完成排序成排序 。 1 3 4 6 9 22#include #in
23、clude void main()void main() void sort(int array,int n); void sort(int array,int n); int a10=24,56,8,47,63,82,27,15,90,39,i; int a10=24,56,8,47,63,82,27,15,90,39,i; printf(原数组为:n); printf(原数组为:n); for(i=0;i10;i+) for(i=0;i10;i+) printf(%d ,ai); printf(%d ,ai); printf(n); printf(n); sort(a,10); sort(
24、a,10); printf(n排好序的数组为:n); printf(n排好序的数组为:n); for(i=0;i10;i+) for(i=0;i10;i+) printf(%d ,ai); printf(%d ,ai); printf(n); printf(n); void sort(int array,int n)void sort(int array,int n) int i,j,k,t; int i,j,k,t; for(i=0;in-1;i+) 将最小的数与前面的数按序交换 for(i=0;in-1;i+) 将最小的数与前面的数按序交换 k=i; 存放数组中最小数所在的下标 k=i;
25、存放数组中最小数所在的下标 for(j=i+1;jn;j+) for(j=i+1;jn;j+)23 冒泡法排序与选择法排序相似,选择法排序在每一冒泡法排序与选择法排序相似,选择法排序在每一轮排序时找最小轮排序时找最小(递增次序递增次序)数的下标,出了内循环数的下标,出了内循环(一一轮排序结束轮排序结束),再交换最小数的位置;而冒泡法排序在,再交换最小数的位置;而冒泡法排序在每一轮排序时将相邻的数比较,当次序不对就交换位每一轮排序时将相邻的数比较,当次序不对就交换位置,出了内循环,最大数(或最小数)已沉底。置,出了内循环,最大数(或最小数)已沉底。241010个数排序个数排序( (由小到大由小到
26、大) )为例,冒泡法的思路是:为例,冒泡法的思路是: 将相邻两个数比较,将小的调到前面。将相邻两个数比较,将小的调到前面。 如有下例如有下例6个数(个数(9、8、5、4、2、0):):第一趟比较 经过第一趟经过第一趟( (共共5 5次比较与交换次比较与交换) )后,最大的数后,最大的数9 9已已“沉沉底底” ” 。然后对余下的前面。然后对余下的前面5 5个数进行第二趟比较,个数进行第二趟比较,注注25第二趟比较如果有如果有n个数,则要进行个数,则要进行n-1趟比较。在第趟比较。在第1趟比较中要趟比较中要进行进行n-1次两两比较,在第次两两比较,在第j趟比较中要进行趟比较中要进行n-j次两两次两
27、两比较。比较。 经过第二趟经过第二趟( (共共4 4次比较与交换次比较与交换) )后,得到次大的数后,得到次大的数8 8。注注26#include #include void main()void main() void sort(int array,int n); void sort(int array,int n); int a10=24,56,8,47,63,82,27,15,90,39,i; int a10=24,56,8,47,63,82,27,15,90,39,i; sort(a,10); sort(a,10); printf(the sorted array:n); printf
28、(the sorted array:n); for(i=0;i10;i+) for(i=0;i10;i+) printf(%d ,ai); printf(%d ,ai); printf(n); printf(n); void sort(int array,int n)void sort(int array,int n) int i,j,t; int i,j,t; for(i=0;in-1;i+) 控制循环的趟数 for(i=0;in-1;i+) 控制循环的趟数 for(j=i+1;jn;j+) 控制相邻两数比较的次数 for(j=i+1;jarrayj) if(arrayiarrayj) t=
29、arrayi; t=arrayi;用冒泡法重做上题。用冒泡法重做上题。27#include #include void main()void main() int a10=22,10,44,17,31,51,89,68,120,95,i,x,f; int a10=22,10,44,17,31,51,89,68,120,95,i,x,f; for(i=0;i10;i+) for(i=0;i10;i+) printf(%d ,ai); printf(%d ,ai); printf(n请输入要查找的数:); printf(n请输入要查找的数:); scanf(%d,&x); scanf(%d
30、,&x); f=search(a,10,x); f=search(a,10,x); if(f=-1) if(f=-1) printf(数组中不存在 %d 这个数。n,x); printf(数组中不存在 %d 这个数。n,x); else else printf(数 %d 是数组中的第 %d 个元素。n,x,f+1); printf(数 %d 是数组中的第 %d 个元素。n,x,f+1); int search(int array,int n,int x)int search(int array,int n,int x) 28。 二分查找法也称折半查找法,是一种效率较高的查找方法。二分查
31、找法也称折半查找法,是一种效率较高的查找方法。对于大型数组,它的查找速度比顺序查找法快很多。对于大型数组,它的查找速度比顺序查找法快很多。 先从数组中间开始比较,先从数组中间开始比较, 判别中间的那个元素是不是要找的判别中间的那个元素是不是要找的数据:是,则查找成功;否,若被查找的数据是在该数组的上半数据:是,则查找成功;否,若被查找的数据是在该数组的上半部,则从上半部的中间继续查找,否则从下半部的中间继续查找部,则从上半部的中间继续查找,否则从下半部的中间继续查找 照此进行下去,不断缩小查找范围至最后,因找到或找不到而照此进行下去,不断缩小查找范围至最后,因找到或找不到而停止查找。停止查找。
32、29 对于对于n个数据,若用变量个数据,若用变量Top、Bott分别表示每次分别表示每次“折半折半”的的首位置和末位置,则中间位置首位置和末位置,则中间位置M为为 M=(Top+Bott)/2这样就将这样就将Top, Bott分成两段,即分成两段,即Top, M-1和和M+1, Bott, 若若要找的数据小于由要找的数据小于由M指示的数据,则该数据在指示的数据,则该数据在Top,M-1范围范围内,反之,则在内,反之,则在M+1,Bott范围内。范围内。用二分法重做例用二分法重做例5.22。30#include #include void main()void main() int a10=22
33、,10,44,17,31,51,89,68,120,95,i,j,k,t,x,f; int a10=22,10,44,17,31,51,89,68,120,95,i,j,k,t,x,f; for(i=0;i9;i+) for(i=0;i9;i+) k=i; k=i; for(j=i+1;j10;j+) for(j=i+1;jaj) k=j; if(akaj) k=j; t=ai; t=ai; ai=ak; ai=ak; ak=t; ak=t; for(i=0;i10;i+) for(i=0;i10;i+) printf(%d ,ai); printf(%d ,ai); printf(n请输入要
34、查找的数: ); printf(n请输入要查找的数: ); scanf(%d,&x); scanf(%d,&x); f=search(a,10,x); f=search(a,10,x); if(f=-1) if(f=-1) printf(n数组中不存在 %d 这个数。n,x); printf(n数组中不存在 %d 这个数。n,x); else else printf(n数 %d 是数组中的第 %d 个元素。n,x,f+1); printf(n数 %d 是数组中的第 %d 个元素。n,x,f+1); int search(int array,int n,int x)int sea
35、rch(int array,int n,int x) 314 4、插入数据、插入数据 已知有已知有10个整数:个整数:3、6、18、28、54、68、87、105、127、162,已从小到大排好序,编写一个程序将一给定值,已从小到大排好序,编写一个程序将一给定值x插入到该序列中插入到该序列中并保持原来的从小到大的顺序不变。给定值并保持原来的从小到大的顺序不变。给定值x从键盘输入。从键盘输入。要在有序数组要在有序数组a中插入数值中插入数值x,使插入后的数组仍有序。插入过,使插入后的数组仍有序。插入过程如下图:程如下图:l 首先查找要插入数据在数组中的位置首先查找要插入数据在数组中的位置kl 然后
36、从最后一个位置往前直到下标为然后从最后一个位置往前直到下标为k的元素逐一往后移动一个位的元素逐一往后移动一个位置;置;l 第第k个元素的位置腾出,将数据插入。个元素的位置腾出,将数据插入。 1 4 7 10 13 16 19 22 25 14 k 32程序代码如下:程序代码如下:#include #include void main()void main() int a11=3,6,18,28,54,68,87,105,127,162,i,k,x; int a11=3,6,18,28,54,68,87,105,127,162,i,k,x; for(i=0;i10;i+) for(i=0;i10
37、;i+) printf(%d ,ai); printf(%d ,ai); printf(n请输入要插入的数: ); printf(n请输入要插入的数: ); scanf(%d,&x); scanf(%d,&x); for(k=0;k10;k+) for(k=0;k10;k+) if(x=ak) break; if(x=k;i-) for(i=9;i=k;i-) ai+1=ai; ai+1=ai; ak=x; ak=x; for(i=0;i11;i+) for(i=0;i11;i+) printf(%d ,ai); printf(%d ,ai); printf(n); print
38、f(n); 在上题中,当出现插入的数比数组中所有数都大或都小的情况时,上在上题中,当出现插入的数比数组中所有数都大或都小的情况时,上面的程序能处理吗?面的程序能处理吗?33编写程序,将数组的前编写程序,将数组的前n n个元个元素中,前端的素中,前端的m m个元素和随后的个元素和随后的n-mn-m个元素互换。个元素互换。n n和和m m从从键盘输入并要求程序不另用其他数组。如:键盘输入并要求程序不另用其他数组。如:a=1,2,3,4,5,6,7,8,9,0a=1,2,3,4,5,6,7,8,9,0,设,设n=7n=7,m=3m=3。交换后有。交换后有a=4,5,6,7,1,2,3,8,9,0a=
39、4,5,6,7,1,2,3,8,9,0。 需移动的元素为需移动的元素为m m个,每个元素需产生个,每个元素需产生n n次移动。次移动。因此,在每次移动中,首先将第因此,在每次移动中,首先将第0 0个元素暂存起来,将其个元素暂存起来,将其后的后的n-1n-1个元素向前移动一个位置,再将第个元素向前移动一个位置,再将第0 0个元素保存个元素保存到第到第n n个位置。个位置。34#include stdio.h#include stdio.hvoid main()void main() int a10=1,2,3,4,5,6,7,8,9,0,i,j,m,n,t; int a10=1,2,3,4,5,
40、6,7,8,9,0,i,j,m,n,t; printf(原数组为:n); printf(原数组为:n); for(i=0;i10;i+) for(i=0;i10;i+) printf(%d ,ai); printf(%d ,ai); printf(n请输入数 n 和 m:); printf(n请输入数 n 和 m:); scanf(%d,%d,&n,&m); scanf(%d,%d,&n,&m); for(i=0;im;i+) for(i=0;im;i+) t=a0; t=a0; for(j=1;jn;j+) for(j=1;jn;j+) aj-1=aj; aj-1=aj; an-1=t; an-1=t; printf(新产生的数组为:n); printf(新产生的数组为:n); for(i=0;i10;i+) for(i=0;i10;i+) printf(%d ,ai); printf(%d ,ai); printf(n); printf(n); 程序代码如下:程序代码如下:35。如:已知数组。如:已知数组 a5=1,1,2,3,3,a5=1,1,2,3,3,复制产
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《GBT 34165-2017油气输送管道系统节能监测规范》
- 2026年八年级道德与法治上册期末考试试卷及答案(三)
- 博山区人民医院2025年度劳务派遣制专业技术人员招聘备考题库及1套参考答案详解
- 云南金江沧源水泥工业有限公司2026年专业技术岗招聘备考题库及一套完整答案详解
- 中国铁路南宁局集团有限公司招聘2026年高校毕业生516人备考题库完整答案详解
- 安阳市新一中学招聘2026届部属公费师范生30人备考题库有答案详解
- 2026年揭阳市引进基层医疗卫生急需紧缺人才招聘备考题库及一套参考答案详解
- 2026年德阳市财政会计学会招聘备考题库完整参考答案详解
- 2026年北京协和医院心内科合同制科研助理招聘备考题库及完整答案详解1套
- 2026年深圳证券交易所人才引进备考题库及参考答案详解
- 智慧社区建设项目施工方案
- 2025版32375电石生产安全技术规范
- 供热管网施工技术规范
- 海南槟榔承包协议书
- 阿扎胞苷课件
- 建筑工程智能防火系统设计与应用考核试卷
- 仿古建筑概念方案设计说明
- 可持续采购培训
- 竞选村支委演讲稿
- DB32-T 1086-2022 高速公路建设项目档案管理规范
- 核心员工留任与薪酬激励方案
评论
0/150
提交评论