版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Chap 7 数 组7.1 投票情况统计7.2 找出矩阵中最大值所在的位置7.3 判断回文本章要点什么是数组? 为什么要使用数组?如何定义数组?如何引用数组元素?二维数组的元素在内存中按什么方式存放?什么是字符串? 字符串结束符的作用是什么?如何实现字符串的存储和操作,包括字符串的输入和输出?怎样理解C语言将字符串作为一个特殊的一维字符数组?7.1 投票情况统计 输入一个正整数n (1n10),再输入n个整数,用选择法将它们从小到大排序后输出。 7.1.1 程序解析7.1.2 一维数组的定义和引用7.1.3 一维数组的初始化7.1.4 使用一维数组编程7.1.1 程序解析【例7-1】调查电视节
2、目欢送程度。某电视台要进行一次对该台8个栏目(设相应栏目编号为18)的受欢迎情况,共调查了1000位观众,现要求编写程序,输入每一位观众的投票,每位观众只能选择一个最喜欢的栏目投票,统计输出各栏目的得票情况。分析:此题涉及新问题如何存储8个栏目计票数据# includeint main( void ) int i,response, count9; /* 设立得票计数器 */ for(i = 1; i = 8; i+) counti = 0; /* 得票计数器清0 */ for( i = 1; i = 1000; i+) printf(input your response: ); /* 输入
3、提示 */ scanf(%d,&response); if(response 8) /* 检查是否有效票*/ printf(this is a bad response: %dn,response); else countresponse+; /* 对应栏目得票加1 */ printf(result:n); /* 输出得票情况 */ for(i = 1;i = 8;i+) printf(%4d%4dn,i,counti); return 0;例7-1程序7.1.2 一维数组的定义和引用1. 数组的一般概念数组是按序排列的同类型变量的集合,是一组具有相 同名字, 不同下标的下标变量。下标变量又称
4、数组元素,形式为:数组名下标 如:a0、a1、a2、a3、a9数组名表示整个数组,如:a下标指出该数组元素在数组中的位置。有1个下标的下标变量所组成的数组称为一维数组; 有2个下标的下标变量所组成的数组称为二维数组。 如:x1、y5 数组x和y都是一维数组 a12、b23 数组a和b都是二维数组7.1.2 一维数组的定义和引用2. 一维数组的定义 定义的一般形式 类型名 数组名数组长度;类型名:数组元素的数据类型数组名:数组的名称,标识符数组长度:常量表达式,指定数组元素的个数 例如: int a10; 定义一个含有10个整型元素的数组a char c81; 定义一个含有81个字符元素的数组c
5、 float f5; 定义一个含有5个实型元素的数组 f7.1.2 一维数组的定义和引用数组中元素的下标从0开始依次编号。经定义的数组,编译后, 会分配到一段 连续的内存单元。如有定义int a10; , 情况如下图,a0, a1, a9依 次连续存储。数组名(如a )是一个地址常量,存放 数组内存空间的首地址。也就是第1 个元素的存储地址,即a和&a0同值。各个元素的存储地址用数组的首地址以及每个元 素所需的字节数,均可计算得到。a0a1a97.1.2 一维数组的定义和引用数组定义中的数组长度只能是常量表达式,不能 含变量。如以下定义是非法的: int n, m=10; double an,
6、 bm;同类型数组、变量可一起定义: int i, a10, b20;7.1.2 一维数组的定义和引用3. 一维数组的引用 只能引用单个数组元素,不能一次引用整个数组。 数组元素的引用方法有两种:下标法和指针法。下标法引用一维数组元素的形式为: 数组名下标 其中下标为整型表达式,取值范围是: 0, 数组长 度-1,它表示了元素在数组中的顺序位置。数组元素又称下标变量,使用方法与同类型变量 完全相同。编译时,不检查数组元素的下标是否越界。 一维数组的初始化 数组初始化就是在定义数组时,对数组元素赋值。 其一般形式为: 类型名 数组名数组长度 = 初值表;初值表中用逗号分隔的各值为将依次赋予各对应
7、 元素的初值,必须是常量表达式,且类型应与数 组的类型相一致。例如, int a10 = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10; 字符数组初始化有两种形式char b6=C,h,i,n,a,0;char s6=China; 或 char s6=China; 一维数组的初始化允许只给局部元素赋初值(其余元素初始化为0 )。 如:int a10=1, 2, 3, b10= 0 ; 如对全部元素都赋初值,可缺省数组长度,数组 长度为初值表中初值的个数。例如, int a = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10; char s = China; 对数组未指
8、定初始化自动类型数组,各元素的值是随机的未知值。全局数组和静态数组,各元素值那么会自动初始 化为0。 一维数组的初始化一维数组的输入和输出对数组元素赋初值,更多的是通过键盘输入的 方法。如输入长度为n的整型数组a的各元: for( i=0; in; i+ ) scanf(%d, &ai);输出长度为n的整型数组a的各元: for( i=0; i 1 )例7-2程序#include int main(void) int i, fib10 = 1, 1; for(i = 2; i 10; i+) fibi = fibi - 1 + fibi - 2; for(i = 0; i 10; i+) pr
9、intf(%6d, fibi); if(i + 1)%5=0) printf(n); return 0;运行结果: 1 1 2 3 5 8 13 21 34 55 7.1.4 使用一维数组编程【例7-3】输入5个整数,将它们存入数组 a 中,再输入一个数x,然后在数组中查找x,如果找到,输出相应的最小下标,否那么,输出“Not Found。分析:这是个查找问题中的顺序查找问题。通过遍历(扫描)数组a,对数组各元逐个比较是否 等于x即可。最后判断是否未找到,可用标志法或break法。例7-3程序#include int main(void) int i, flag, x, a5; printf(
10、Enter 5 integers: ); for(i = 0; i 5; i+) scanf(%d, &ai); printf(Enter x: ); scanf(%d, &x); for(flag = i = 0; i 5; i+) if(ai = x) printf(Index is %dn, i); flag = 1; break; if(flag = 0) printf(Not Foundn); return 0;运行结果1: Enter 5 integers: 2 9 8 1 6 Enter x: 9 Index is 1运行结果2: Enter 5 integers: 2 9 8
11、1 6 Enter x: 7 Not Foundi = 57.1.4 使用一维数组编程【例7-4】输入一个正整数n(1 n 11), 再输入n个 整数,将它们存入数组 a 中。 输出最小值和它所对应的下标。 将最小值与第一个数交换,输出交换后的n个数。分析: 这是个求最值问题。可先假定a0最小,即最小元素的下标index=0,然后遍历数组a,各元素逐个与aindex比较,假设小于,那么其下标存入index,这样就是使 index 中始终是到当前为止的最小元素的下标 。7.1.4 使用一维数组编程实现语句: for(index = i = 0; in; i+) if(ai aindex) ind
12、ex = i; 交换两个变量的值有多种方法:借助第三者 t = a; a = b; b = t;不借助第三者 a =a+b; b= a-b; a =a-b; a = b; b =a; a = b; 或写成 a = b = a = b;#include int main(void) int i, index, n, a10, t; printf(Enter n: ); scanf(%d, &n); printf(Enter %d integers: , n); for(i = 0; i n; i+) scanf(%d, &ai); for(index = 0, i = 1; i n; i+) i
13、f(ai aindex) index = i; printf(min is %dtsub is %dn,aindex,index);例7-4程序例7-4程序 t = aindex; aindex = a0; a0=t; for(i = 0; i n; i+) printf(%d , ai); return 0;运行结果:Enter n: 6Enter 6 integers: 2 9 -1 8 1 6min is -1 sub is 2-1 9 2 8 1 67.1.4 使用一维数组编程【例7-5】选择排序法。输入一个正整数n(1 n 10),再输入n个整数,用选择法将它们从小到大排序后输出。例
14、7-5程序#include int main(void) int i, j, k, n, t, a10; printf(Enter n: ); scanf(%d, &n); printf(Enter %d integers: , n); for(i = 0; i n; i+) scanf(%d, &ai); for(i = 0; i n-1; i+) for(k = i, j = i+1; i n; i+) if(aj ak) k = j; t = ai; ai=ak; ak=t; 例7-5程序 printf(After sorted: ); for(i = 0; i n; i+) print
15、f(%d , ai); return 0; 运行结果: Enter n: 10Enter 10 integers: 3 5 2 8 1 22 89 0 -1 7After sorted: -1 0 1 2 3 5 7 8 22 89选择法排序 选择法排序的根本思想是: 通过比较找到最小数,如不是第1个数,那么与第1个数交换,再在余下的数(即第2个开始)中找到最小数,如不是第 2 个数,那么与第 2 个数交换,再在余下的数(即第3个开始)中找到最小数,如不是第 3 个数,那么与第 3 个数交换,依此类推,n 个数经过 n-1 轮比较即可完成排序。 选择法排序选择法排序的实现1:int n=5,
16、i, j, t;int a5 = 3, 5, 2, 8, 1;for(i = 0; i n-1; i+) for( j = i+1; j aj) t = ai; ai = aj; aj = t; ija0a1a2a3a4013528102352810325381042538115382121538213135821413582125832312583241258312385341238512358选择法排序的实现1流程:i n-1 i = 0交换ai,ajTFj = i+1j ajj +i +TTendFF选择法排序选择法排序的实现2:int n=5, i, j, k, t;int a5 =
17、3, 5, 2, 8, 1; for(i = 0; i n-1; i+) for(k=i, j=i+1; jaj) k = j; if(k != i) t=ai; ai=aj; aj=t; ikja0a1a2a3a400135281002352810233528102435281043528111215283123152831241528312152832231258322412583241258333412385341238512358选择法排序的实现2流程:j ni ajj +TTendFFi +交换ai,akk != i TF冒泡法排序冒泡法排序1的根本思想是: 从第n个数开始,依次比较
18、相邻两个数,即第n个与第n-1个、第n-1个与第n-2个、 ,每次比较,假设不满足由小到大的顺序,那么两者对调位置,通过一轮比较,参加比较的数中的最小数就“上升到它们中最前面的位置,下一轮再从第n个数开始,把余下的数依次比较,这样,通过n-1轮比较,就完成了全部n个数的升序排列。在第i轮比较时,从第 1个位置开始已排序定位了i-1个数,余下n-i+1个数,需两两比较 n-i次。冒泡法排序冒泡法排序1的实现:int n=5, i, j, t;int a5 = 3, 5, 2, 8, 1;for(i = 0; i i; j-) if(aj aj-1) t = aj; aj = aj-1; aj-1
19、 = t; ija0a1a2a3a4043528103352180235128013152813528141352813135281213258123582412358231235812358341235812358冒泡法排序冒泡法排序2的根本思想是: 从第1个数开始,依次比较相邻两个数,即第1个与第2个、第2个与第3个、 ,每次比较,假设不满足由小到大的顺序, 那么两者对调位置, 通过一轮比较,参加比较的数中的最大数就 “ 下沉 到它们中最后面的位置,下一轮再从第1个数开始,把余下的数依次比较,这样,通过n-1轮比较,就完成了全部n个数的升序排列。在第i轮比较时,从第 n个位置开始向前已排序
20、定位了i-1个数,余下 n-i+1个数,需两两比较n-i次冒泡法排序冒泡法排序2的实现:int n=5, i, j, t;int a5 = 3, 5, 2, 8, 1;for(i = 0; i n-1; i+) for( j = 0; j aj+1) t = aj; aj = aj+1; aj+1 = t; ija0a1a2a3a40035281013528102325810332581325181032518112351812235182315820231582123158213583021358123587.1.4 使用一维数组编程【例7-6】二分查找法。设已有一个10个元素的整形数组a,
21、且按值从小到大有序。输入一个整数 x,然后在数组中查找x,如果找到,输出相应的下标,否那么,输出“Not Found。 设:待查数在变量x中; 变量low 用于存放查找范围的顶部位置; 变量mid 用于存放查找范围的中间位置; 变量high 用于存放查找范围的底部位置;二分法查找流程图mid=(low+high)/2x!=amid TF输入xlow=0;hghi=n-1;Not foundhghi=mid-1low=mid+1low=hghi low=hghi 输出midxamid FFFTTT #include int main(void) int low, high, mid, n=10,
22、 x, a10=1,2,3,4,5,6,7,8,9,10; printf(Enter x: ); scanf(%d,&x); low = 0; high = n - 1; while (low = high) mid = (low + high) / 2; /* 中间位置 */ if (x = amid) break; /* 找到,中止循环 */ else if (x amid) high = mid - 1; /* 前半段, high前移 */ else low = mid + 1; /* 后半段, low后移 */ if(low = high) printf(Index is %d n,m
23、id); else printf( Not Foundn); return 0;例7-6程序运行结果1:Enter x: 8Index is 7运行结果2:Enter x: 71Not Found7.2 找出矩阵中最大值所在的位置 将1个3*2的矩阵存入1个3*2的二维数组中,找出最大值以及它的行下标和列下标,并输出该矩阵。 7.2.1 程序解析7.2.2 二维数组的定义和引用7.2.3 二维数组的初始化7.2.4 使用二维数组编程7.2.1 程序解析【例7-7】将1个 3*2的矩阵存入1个 3*2 的二维数组 中,找出最大值以及它的行下标和列下标,并输出 该矩阵。分析:涉及新问题:二维数组求
24、最值方法与【例7-4】的一维数组中求最值方 法类似。row 记录最大值的行下标 col 最大值的列下标 arowcol 就是最大值#include int main(void) int i, j, col, row, a32; printf(Enter 6 integers:n) ; for(i = 0; i 3; i+) for(j = 0; j 2; j+) scanf(%d, &aij); for(i = 0; i 3; i+) for(j = 0; j 2; j+) printf(%4d, aij); printf(n); 例7-7程序例7-7程序 row = col = 0; for
25、(i = 0; i 3; i+) for(j = 0; j arowcol) row = i; col = j; printf(max = a%d%d = %dn, row, col, arowcol); return 0; 运行结果:Enter 6 integers: 3 2 10 -9 6 -1 3 2 10 -9 6 -1max = a10 = 107.2.2 二维数组的定义和引用1. 二维数组的定义 定义的一般形式 类型名 数组名行长度列长度 其中行长度和列长度只能是常量表达式。 如: int a32; 定义3行2列的二维数组a, 各元素为: a00 a01 a10 a11 a20 a
26、21 如下图,按行存放在一段连续的内存中。a00a01a10a11a20a217.2.2 二维数组的定义和引用二维数组是一维数组的数组 可以把a看作含有a0、a1和a2共3个元素的一 维数组,而a0、a1和a2又都是含有2个元素 的一维数组,a0、a1和a2就是这3个一维数 组的名字,即: a: a0: a00 a01 a1: a10 a11 a2: a20 a217.2.2 二维数组的定义和引用2. 二维数组的引用 数组元素的引用方法有两种:下标法和指针法。 下标法引用二维数组元素的形式为: 数组名行下标 列下标 其中: 行、列下标 可以是整型表达式; 行下标 取值范围: 0, 行长度-1;
27、 列下标 取值范围: 0, 列长度-1。7.2.3 二维数组的初始化1. 分行赋初值的一般形式 类型名 数组名行长度列长度 = 初值表0, , 初值表k, ; 其中初值表k中的数据依次赋给k行的元素。 例如:int a32=1,2,3,4,5,6;2. 顺序赋初值的一般形式 类型名 数组名行长度列长度 = 初值表; 按数组元素在内存中的存放顺序,把初值表中的数 据依次赋给元素。 例如:int a32=1,2,3,4,5,6;7.2.3 二维数组的初始化3. 初始化说明允许只给局部元素赋初值(其余元素初始化为0) int a34=8,4, 5, 4; int a34=8,4,2,1,5;当用分行
28、赋值给出了所有行,或者当用顺序赋值给出全部数组元素初始化值时,可以缺省行长度 int a 4=8,4, 5,4; int a 4= 8,4,2,1, 5,7,0,3, 4,0,9,6;对数组未指定初始化自动类型数组,各元素值是随机的未知值。全局数组和静态数组,各元素值自动赋初值0。7.2.3 二维数组的初始化二维数组的输入和输出对数组元素赋初值,更多的是通过键盘输入的方法。 如输入n行m列的整型数组a的各元: for( i=0; in; i+ ) for( j=0; jm; j+ ) scanf(%d, &ai);输出n行m列的整型数组a的各元: for( i=0; in; i+ ) for(
29、 j=0; jm; j+ ) printf(%d , ai); printf(n); 7.2.4 使用二维数组编程【例7-8】定义1个 3*2的二维数组a,数组元素的值 由下式给出,按矩阵的形式输出a。aij = i + j0i2,0j1例7-8程序#include int main(void) int i, j, a32; for(i = 0; i 3; i+) for(j = 0; j 2; j+) aij = i + j; for(i = 0; i 3; i+) for(j = 0; j 2; j+) printf(%4d, aij); printf(n); return 0;运行结果:
30、 0 1 1 2 2 37.2.4 使用二维数组编程【例7-9】输入一个正整数n(1n6),根据下式 生成1个n*n的方阵,然后将该方阵转置(行列互换) 后输出。 aij = i * n + j + 10in-1,0jn-1 例如,当n=3时,有: 转置前 转置后 1 2 3 1 4 7 4 5 6 2 5 8 7 8 9 3 6 97.2.4 使用二维数组编程 矩阵术语与二维数组下标的对应关系:int aNN; N是正整数aij:i、j的取值范围0,N-1设N为3,用二维数组a表示N*N方阵时:a00 a01 a02a10 a11 a12a20 a21 a22 主对角线 i=j上三角 i=j
31、副对角线 i+j=N-17.2.4 使用二维数组编程遍历主对角线:for(i = 0; i N; i+) aii = ; 遍历副对角线:for(i = 0; i N; i+) aiN-1-i = ; 遍历上三角:for(i = 0; i N; i+) for(j = i; j N; j+) aij = ; 遍历下三角:for(i = 0; i N; i+) for(j = 0; j = i; j+) aij = ; #include int main(void) int i, j, n, t, a66; printf(Enter n: ); scanf(%d, &n); for(i = 0;
32、i n; i+) /* 遍历数组各元赋值 */ for(j = 0; j n; j+) aij = i * n + j + 1; for(i = 0; i n; i+) for(j = 0; j n; j+) if(i = j) /* 只遍历上三角 */ t = aij; aij = aji; aji = t; 例7-9程序for(j = i; j n; j+)例7-9程序 for(i = 0; i 3; i+) for(j = 0; j 2; j+) printf(%4d, aij); printf(n); return 0;运行结果:Enter n: 3 1 4 7 2 5 8 3 6 9
33、7.2.4 使用二维数组编程【例7-10】定义函数day_of_year(year, month, day),计算并返回年year、月month 和日day 对应的是该年的第几天。判别闰年的条件是年份能被 4 整除但不能被100整除,或能被400整除。分析:主要要考虑各月天数如何获取:用二维数组0行和1行的 112 列分别预存平年和闰年 的 112 月天数。用一维数组下标 112 的元素预存平年的 112月 天 数,2月的天数根据是否闰年在计算时修正。其他不用数组,用分支语句的方法。#include /* 用一维数组 */int day_of_year(int y, int m, int d)
34、 int i, tab =0,31,28,31,30,31,30,31,31,30,31,30,31; tab2 += (y%4=0 & y%100!=0) | y%400=0; for(i=1; im; i+) d += tabi; return d;int main(void) int y, m, d; scanf(%d%d%d, &y, &m, &d); printf(%dn, day_of_year(y,m,d); return 0;例7-10程序运行结果1:2000 3 161运行结果2:2021 3 160/* 用二维数组存放月天数 */int day_of_year(int y,
35、 int m, int d) int i, leap; int tab213 = 0,31,28,31,30,31,30,31,31,30,31,30,31 0,31,29,31,30,31,30,31,31,30,31,30,31 ; leap = (y%4=0 & y%100!=0) | y%400=0; for(i=1; im; i+) d += tableapi; return d;例7-10程序int day_of_year(int y, int m, int d) switch( m-1 ) /* 不用数组 */ case 11: d += 30; case 10: d += 31
36、; case 9: d += 30; case 8: d += 31; case 7: d += 31; case 6: d += 30; case 5: d += 31; case 4: d += 30; case 3: d += 31; case 2: d+=28+(y%4=0&y%100!=0|y%400=0); case 1: d += 31; return d;例7-10程序7.3 判断回文【例7-11】输入一个以回车结束的字符串(少于10个字符),判断该字符串是否是回文?所谓回文就是字符串中心对称,如 abcba、abccba 是回文,abcdba不是回文。7.3.1 程序解析7.
37、3.2 一维字符数组7.3.3 字符串 使用字符串编程7.3.1 程序解析【例7-11】输入一个以回车结束的字符串(少于10个字符),判断该字符串是否是回文?所谓回文就是字符串中心对称,如 abcba、abccba 是回文,abcdba不是回文。分析:新内容:字符串例7-11程序# include int main(void) int i, n, m; char s10; printf(Enter a string: ); i = 0; while(si = getchar( ) != n) i+; si = 0; for(n = 0,m = i-1; n = m) printf(It is
38、a plalindromen); else printf(It is not a plalindromen); return 0;Enter a string: abcbaIt is a plalindrome Enter a string: abcdbaIt is not a plalindrome 7.3.2 一维字符数组 一维字符数组用于存放字符型数据。其定义、引用、初始化与其他类型的一维数组相同。定义:char str81;初始化: char s6=H,a,p,p,y,0; char s6=Happy; char s6=Happy;允许只给局部元素赋初值(其余元素初始化为0): cha
39、r s81 = H,a,p,p,y; char s81 = 0 ;7.3.2 一维字符数组如对全部元素都赋初值,可缺省数组长度,数组 长度为初值表中初值的个数。 char s = H,a,p,p,y,0; char s = Happy; 对数组未指定初始化自动类型数组,各元素的值是随机的未知值。全局数组和静态数组,各元素值那么会自动初始 化为0。编译时,不检查数组元素的下标是否越界。1. 对字符串的约定 字符串是借助于字符数组来存放的,规定以字符0作为“字符串结束标志。0 占用存储空间,但不计入字符串长度。0的ASCII码值为0。2. 字符串常量的约定 C语言中没有字符串变量,但却允许使用字符
40、串常量,用一对双引号括起来的字符序列来表示,其隐式包含最后的结束标志0,无需人为添加。 A 存储: A 存储: 存储:7.3.3 字符串A00A7.3.3 字符串3. 字符数组与字符串的区别字符数组可以存放一串字符,但并不限定最后一 个字符应该是什么。而字符串最后必须是0。在字符数组中的有效字符后加上0这一特定情况 下,可以把它“看作字符串变量,但又不同于一 般的变量。存储字符串是字符数组的一种具体应用。一般,一维字符数组存放一个字符串,二维字符 数组那么可每行存放一个字符串。7.3.3 字符串4. 字符数组存储字符串 数组初始化,赋值和输入数组初始化 char s81 = China;赋值
41、char s81; s0=C; s1=h; s2=i; s3=n; s4=a; s5=0;输入(按目前的知识) char s81; int i;for:for(i=0; (si = getchar() != n; i+); si = 0;7.3.3 字符串while:i = 0; while(si+ = getchar() != n); s-i = 0; 或: i = 0; while(si = getchar() != n) i+; si = 0;do-while: i = 0; do si = getchar(); while(si+ != n); s-i = 0;7.3.3 字符串5. 对字符数组中字符串的操作(遍历字符串) 遍历字符串时, 一般以是否到达结束符0来控制。 for(i = 0; si != 0; i+) 【例7-12】输入一个以回车符结束的字符串(少于10个字符),过滤所有非数字字符后转成十进制整数输出。分析:可用以下语句实现数字字符串转十进制整数 for(n = i = 0; s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国旅游度假区行业资本规划与股权融资战略制定与实施研究报告
- 2025-2030年中国咖啡馆行业并购重组扩张战略制定与实施研究报告
- 新形势下金融押运行业快速做大市场规模战略制定与实施研究报告
- 2025-2030年中国商用厨房电器行业全国市场开拓战略制定与实施研究报告
- 2025-2030年中国汽车分时租赁行业全国市场开拓战略制定与实施研究报告
- 2025-2030年中国钴行业开拓第二增长曲线战略制定与实施研究报告
- 关于大学生对学校组织爱心活动的关注及其背后真实心理的调查
- 国有企业2024年工作情况总结及2025年工作计划
- 2024-2030年中国金融系列行业市场全景分析及投资前景展望报告
- 电力工程招投标过程中的风险分析与管理措施
- 《小学生良好书写习惯培养的研究》中期报告
- 大学英语四级词汇表(下载)
- 2025年四川成都市温江区市场监督管理局选聘编外专业技术人员20人历年管理单位笔试遴选500模拟题附带答案详解
- 手术室发生地震应急预案演练
- 初中数学新课程标准(2024年版)
- 高职院校专业教师数字素养架构与提升路径
- 售后服务人员培训资料课件
- 2024-2030年中国薯条行业发展趋势及投资盈利预测报告
- 生命智能学习通超星期末考试答案章节答案2024年
- 专项14-因式分解-专题训练(50道)
- 中华传统文化之戏曲瑰宝学习通超星期末考试答案章节答案2024年
评论
0/150
提交评论