程序设计基础实验指导书(C++版)_第1页
程序设计基础实验指导书(C++版)_第2页
程序设计基础实验指导书(C++版)_第3页
程序设计基础实验指导书(C++版)_第4页
程序设计基础实验指导书(C++版)_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序设计基础实验指导书广州大学计算机科学与教育软件学院程序设计基础实验课程组二一0年九月目 录实验1 简单的c程序设计、数据类型、运算符与表达式 2实验2 顺序结构和选择结构设计程序设计 6实验3 循环结构程序设计 7实验4 数组与字符串 11实验5 函数 16实验6 指针 21实验7 结构体与共同体 24实验8 文件(多文件程序结构) 28实验9 程序设计基础应用实验 30实验1 简单的c程序设计、数据类型、运算符与表达式一、实验目的及要求1. 了解在集成开发环境下程序的编辑、编译、连接、运行与调试;2. 掌握c语言的基本数据类型、算术运算符、赋值运算符和逗号运算符及表达式;3. 输入并编译

2、c+程序。二、实验设备与平台1. 实验设备:计算机;2. 平台:windows xp操作系统,visual c+ 6.0。三、实验内容与步骤1. 启动visual c+ 6.0,认识开发环境界面;图1_1 启动visual c 界面2.建立新文件:选择file的new项,在窗口new中选c+ sourec file(c+原文件),并输入文件名(扩展名为.cpp由系统给出)和该文件将要保存的位置(即存盘路径,一般自己先建立一个常用文件夹,将拟建立的文件保存在该文件夹),再按ok按钮。图1_2 建立c+原文件3.输入运行程序代码:上述步骤后出现编辑版面,这时可以输入所要运行的程序代码。图1_3 输

3、入拟运行程序代码4.编译(将程序文本转为机器能识别的代码文件):选build菜单中的compile项,若程序出错在编译中系统会给出提示信息,方便用户进行修改。5.运行:选build菜单中的execute项,运行程序,再根据程序提示输入数据,系统会给出结果。图1_4 程序运行的结果6. 有关说明:1)运行程序时系统会产生.exe文件,同时执行.exe文件。2)对vc+的每一菜单项,都有一个相应的图标,可按图标快速执行。3)程序运行完后,可按file菜单的close workspace 关闭工作区,再退出vc+系统。4)运行完一程序后,若需再打开另一程序,必须先关闭原有程序的工作区,即做3)。5)

4、运行已有存盘的旧程序,可选file菜单中的open项,再选取执行指定文件夹中的.cpp程序文件即可。实验1_1:输入并运行以下程序,分析其运行结果。/ sy1_1.cpp#include using namespace std;int main() char c1,c2;c1=97;c2=98;coutc1 c2endl;return 0;(运行上面程序)在此基础上 加上一个cout语句并运行:coutc1c2;再将第5行改为:int c1,c2;并运行两种输出格式实验1_2:输入并运行以下程序,分析其运行结果。/ sy1_2.cpp#includeusing namespace std;in

5、t main()int i,j,m,n;i=8;j=10;m=+i;n=j+;couti=i j=j m=m n=nendl;return 0;运行。分别作以下改动并运行:将第8行改为: m=i+;n=-j将第7行改为:int i=8,j=10,m=0,n=0将第8行改为:m+=i+;n-=-j分析分别修改以后的变化情况。实验1_3: 输入并运行以下程序,并回答思考题/ sy1_3.cpp#includeusing namespace std;int main( )unsigned short a;short int b=-1;a=b;coutaendl;return 0;思考题:运行结果是什

6、么?依据是什么?因为-1的补码形式为1111111111111111(即全部16个二进制位均为1),将它传送给a,而a是无符号型变量,16个位全1是十进制的65535。如果b为正值,且在032767之间,则赋值后数值不变。思考问题:1.输入一个字符,判别它是否为大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符,上机编写并通过程序。2.输入3个a,b,c,求出最大数,上机编写并通过程序。3:#include “filename”与#include 的区别?实验相关知识1. 程序的编译、连接、运行 在“编译”菜单中,“compile”命令可对源程序进行编译,编译通过则

7、生成扩展名为.obj的目标文件;“build”命令可对目标文件连接生成“可执行文件”,此命令也可将源程序进行编译再连接生成“可执行文件”;“execute”命令可运行“可执行文件”显示结果,此命令也可将源程序进行编译再连接生成“可执行文件”并运行显示结果。编译或连接时的信息都会显示在输出窗口,若出现错误,则标识出错文件名,发生错误的行号及错误的原因等。错误信息中的警告信息不妨碍可执行文件的形成,但最好进行修改。2. 程序的调试在visual c+ 6.0环境下集成了调试器,可以利用build菜单debug级联菜单中的命令或快捷键来控制调试器中程序的运行情况。通过设置断点,观察断点的各种信息,单

8、步跟踪有疑问的程序段,进而修改源程序。developer studio中的工程可以产生两种可执行代码,分别称为调试版本和发布版本。调试版本是在开发过程中使用的,用于检测程序中的错误;发布版本是面向用户的。高度版本体积较大,而且速度通常要比发布版本慢,发布版本不能用调试器进行调试。实验2 顺序结构和选择结构设计程序设计一、实验目的及要求:1 学会正确使用逻辑运算符和逻辑表达式;2 熟练掌握if语句和switch语句;3 掌握在程序设计中灵活使用顺序结构和选择结构。二、实验设备与平台1. 实验设备:计算机;2. 平台:windows xp操作系统,visual c+ 6.0。三、实验内容及步骤:先

9、画程序流程图,再编写程序,解下列问题,然后上机调试运行程序。实验2_1:有一个函数 x x=0 y= 5x-10 1=x=10用cin函数输入x的值(分别为x=0,1=x=10),输出y的值 。说明:这个题目主要是练习学生对ifeles语句的使用。实验2_2: 给出一个不多于5位的正整数,要求:1) 求出它是几位数;2) 分别输出每一位数;3) 按逆序输出各位数字,例如原数为5631,应输出为1365。说明:这个题目主要是练习学生对ifelsef if嵌套语句,switchcase语句的使用。思考:如果不使用switchcase语句,完全使用ifelse if来实现,那程序应该怎么改动呢?实验

10、2_3:输入四个整数,要求按大小顺序输出。上机编写并通过程序。说明:这个题目主要是练习学生对两个数的交换以及多个数的排序处理。思考:程序中需要两个数的比较是多少次,如果有5个数,那比较的次数又是多少次呢?实验3 循环结构程序设计一、实验目的及要求1掌握while、for、dowhile 循环结构的使用方法以及循环条件的使用;2能够使用三种循环结构设计程序、分析程序并解决实际问题;3掌握三种循环结构的差异和不同,能灵活地实现三种结构间的转换;4正确编写具有循环结构的c语言程序。二、实验设备与平台1. 实验设备:计算机;2. 平台:windows xp操作系统,visual c+ 6.0。三、实验

11、内容及步骤1程序实验验证(1)求 = 1+2+100 之和,上机验证程序运算结果。方法一(实验3_1):用while语句编程。方法二(实验3_2):用do-while语句,求1到100的和。方法三(实验3_3):用for语句编程。上机编写并通过程序,并分析三种编程方法的特点。几种循环结构的比较分析: for语句适合于循环次数是预先知道的,且步长固定;而while和do语句的循环次数则依赖于循环体的动作。 for和while语句是先判断后执行,所以循环体可能一次也不执行; do语句是先执行后判断,所以循环体至少执行一次。 循环体可以是空语句,也是几个语句复合。 三种循环语句可以相互转化,但一般来

12、说,while语句的适应性最广,应首先考虑。但在特别的问题中,选择for语句和do语句会更自然、更方便。 (2) 实验3_4:编写程序找出3位数中(100200间)各位数之和能被5整除的所有数,每行按5个数据显示在屏幕上。编写程序代码并上机验证程序运行结果。(3)编程求水仙花数。水仙花数是满足这样条件的3位数:3位数中各位数的立方和等于该3位数,上机运行程序并验证程序运行结果。2程序实验分析(1)实验3_5:根据程序代码,分析下列程序所完成功能和相应输出结果,并思考下列问题。/sy3_5.cpp分析下列程序的运行结果行号 程序代码1 #include 2 using namespace std

13、;3 void main( )4 5 int i,sum;6 sum=0;7 i=10;8 while (i)9 sum=sum+i;10 i=i-1; 11 12 coutsum=sum;13 思考问题1:运行程序,分析程序的运行结果(sum=55),根据程序运行结果,思考程序中第8行的语句while(i)中的表达含义。思考问题2:试着将第8行中的语句修改为while(x!=0)再运行修改后的程序,并对运行结果与原程序运行结果进行比较分析。 思考问题3:试着将第8行中的语句修改为 while(!x = =0)再运行修改后的程序,并对运行结果与上面两次运行结果进行比较分析。 (2)分析下面程序

14、:如果用下列语句来实现 s=1+2+3+4+5 的累加功能,请你分析、运行程序,找出程序中存在的错误并进行修改。 行号 程序代码 1 #include 2 using namespace std; 3 void main( ) 4 5 int i , s=0; /累加变量初始化为0 6 for (i=1, i=5, i+); /实现15的累加 7 s = s+i; 8 cout“s =”sendl; 9 问题拓展: 1)如果将原程序修改为用while 语句来实现,请分析程序中存在的错误。 行号 程序代码 1 #include 2 using namespace std; 3 void main

15、( ) 4 5 int i , s = 0; /累加变量初始化为0 6 while (i =5); 7 8 s =s +i ; 9 10 cout“s=”sendl; 11 2)如果将原程序修改为用dowhile 语句来实现,请分析程序中存在的错误。 行号 程序代码 1 #include 2 using namespace std; 3 void main( ) 4 5 int i = 1, s = 0 ; 6 do 7 8 s = s+i ; 9 i+; 10 while (+i=100) 11 cout“s = ” sendl; 12 实验4 数组与字符串一、实验目的及要求1了解数组与数学

16、矩阵的关系;2掌握数组的定义、引用与初始化;3理解二维数组数据的存储顺序;4理解并掌握冒泡排序法、选择排序法;5掌握字符数组与字符串的定义、引用;6了解字符串处理函数的用法。二、实验设备与平台1. 实验设备:计算机;2. 平台:windows xp操作系统,visual c+ 6.0。三、实验内容及步骤 1排序算法 排序算法有很多种,如冒泡排序、选择排序等。 1)冒泡排序法:相邻元素比较大小并发生交换,使最大值(最小值)“浮出”到数组尽头: a0 a1 a2 a3 现以n元数组a0 an-1 由小到大排序为例,其算法执行步骤如下: 第1步:找到a0 an-1 中的最大值元素浮动到 an-1;第

17、2步:找到a0 an-2 中的最大值元素浮动到 an-2; 第3步:找到a0 an-3 中的最大值元素浮动到 an-3; 第i步:找到a0 an-i 中的最大值元素浮动到 an-i; 第n-1步:找到a0 a1 中的最大值元素浮动到 a1,且算法停止。 2)选择排序法:仍以n元数组a0 an-1 由小到大排序为例,其算法执行步骤如下: 第1步:找到a0 an-1 中的最小值元素与 a0交换;第2步:找到a1 an-1 中的最小值元素与 a1交换; 第3步:找到a2 an-1 中的最小值元素与 a2交换; 第i步:找到ai an-1 中的最小值元素与 ai交换; 第n-1步:找到an-2 an-

18、1 中的最小值元素与 an-2,且算法停止。 注意:比较冒泡排序法与选择排序法的差异。 2实验4_1:用选择法排序程序(升序程序)/用选择法排序程序(升序排序)#includeusing namespace std;#define m 10void main( )int am,i,j,min,temp;printf(请输入排序数据:n);for (i=0;iai;printf(排序前数列:n);for (i=0;im;i+)coutai ;for (i=0;im-1;i+)min=i;for (j=i+1;jm;j+)if (ajamin)min=j;temp=ai;ai=amin;amin=

19、temp;printf(n排序后的数列:n);for (i=0;im;i+)coutai ;coutendl; 程序调试要求: 1)运行程序,任意输入10个整数,察看并分析程序执行结果; 2)运行程序,输入多于10个的整数,察看并分析程序执行结果; 3)运行程序,输入一组升序排列的有序整数,察看并分析程序执行结果; 4)运行程序,输入一组降序排列的有序整数,察看并分析程序执行结果。 3实验4_2:有序数列的数据插入问题 编程分析,这个问题包括3个关键步骤:1)确定要插入数据的位置。这步操作使用的方法有很多种,如可以使用折半查找比较的方法,也可以使用顺序比较的方法;2)将自插入位置开始后的所有数

20、据都向后移动一个位置,以便空出要插入数据的位置。若插入数据位置在原有所有数据之后,该步骤可省略,若插入数据位置在第一个数据之前,所有数据依次后移一个位置;3)将要插入的数据存储在该空位置上。 参考程序:/在升序排序的数组中插入数据程序,sy4_2.cpp#include using namespace std;#define m 10void main( )int am+1=10,20,30,40,50,60,70,80,90,99;int i,n,p; cout原始数列数据为:endl;for (i=0;im;i+)coutai ;coutendl请输入要插入的数据:n;am=n;for (

21、i=0;i=m;i+) /确定要插入的位置pif (n=p;i-) /元素后移ai+1=ai;ap=n; /插入数据coutendl插入数据后的数列:endl;for (i=0;im+1;i+)coutai ;coutendl; 程序调试要求: 1)运行程序,输入一个比所有原始数据都小的数,察看并分析程序执行结果; 2)运行程序,输入一个比所有原始数据都大的数,察看并分析程序执行结果; 3)运行程序,输入一个介于原始数据最小数和最大数之间的整数,察看并分析程序执行结果; 4)运行程序,输入原始数据中最小的数,察看并分析程序执行结果; 5)运行程序,输入原始数据中最大的数,察看并分析程序执行结果

22、; 6)运行程序,输入原始数据中间的任何一个数,察看并分析程序执行结果。 4实验4_3:不用字符串处理函数将两个字符串连接,即将字符串b连接到字符串a的后面,变成字符串c。 思考:如果将字符串s2连接到字符串s1的后面,且不需要第三个字符串变量作中间过度,如何实现?编程实现并测试。实验5 函 数一、实验目的及要求 主要叙述本节对应要掌握的主要概念和要解决的主要问题。1掌握函数的定义方法,及函数调用的形式;2掌握函数实参与形参的对应关系,“值传递”与“地址传递”的方式与区别;3掌握函数的应用方法,熟悉函数的嵌套调用和递归调用的设计方法;4了解全局变量、局部变量、动态变量及静态变量的概念和使用方法

23、;5综合应用顺序结构、选择结构和循环结构的设计方法设计函数程序。二、实验设备与平台1. 实验设备:计算机;2. 平台:windows xp操作系统,visual c+ 6.0。三、实验内容及步骤 1. 分析下面程序,给出运行结果。本题要求理解和掌握函数的定义和调用/实验5_1:sy5_1.cpp#include using namespace std;int f(int i)i=i*i-1; return (i);void main()int i;for( i=0;i5;i+)couti f(i)endl;程序运行结果: 2. 下面程序为选择排序,要求按如下步骤完成本题实验,理解和掌握函数参数

24、的传递,理解函数的嵌套调用。/实验5_2:sy5_2.cpp#include using namespace std;#define n 10int max(int x, int n)int i,j;j=0;for(i=1; ixj) j=i;return j;void sel_sort(int x, int n)int i, j;for(i=n; i1; i-) j=max(x,i); int temp=xj; xj=xi-1; xi-1=temp; void main()int an, i;for(i=0; iai;sel_sort(a, n);for(i=0; in; i+)coutai

25、 ;coutendl;1) 阅读程序,理解选择排序的思想2) 上机编辑,调试程序3) 用两组数据,给出程序运行结果, 4) 用单步执行,观察程序执行的流程5) 画出流程图描述程序的实现6) 问题:什么是函数的嵌套调用?3. 函数的递归调用题目:采用递归方式实现二分查找问题分析二分查找算法可以描述为:对于一个已经从小到大排序的数据序列,用给定数据key与查找区间中央位置的数据比较,如果相等则表明查找成功;否则,如果key比中央位置的数据小,则在前半个区间用同样的方法继续查找;否则在后半个区间用同样的方法继续查找。因此,这是一个递归的过程,当查找区间的长度为0时,说明查找不成功。要求完成本题的填空

26、并上机调试通过,理解递归调用的执行过程/实验5_3:sy5_3.cpp#include using namespace std;#define num 10int search(int value, int key, int low, int high);void main()int valuenum, result, key;int i;cout请输入十个从大到小的有序数列:endl;for (i=0; ivaluei; /* 输入从大到小的有序数列*/cout请输入其中一个元素值:key; /* 输入待查找的数值*/result=search(value, key, 0, num-1);

27、/*调用二分查找函数进行查找*/if(result!=-1)cout第result个元素是:keyendl;elsecout不能找到keyhigh)return -1; /*查找区间为空*/mid=( (2) ) /*求中间位置*/if (valuemid=key) ( (3) )/*得到查找的数据位置*/if(keyvaluemid)return search(value, key, low, mid-1); /*在下半区查找*/ else return ( (4) );4. 全局变量与局部变量及变量的存储类型1) 全局变量与局部变量题目:一维数组内放10个学生成绩,写一函数求平均分、最高分

28、和最低分。要求掌握全局变量与局部变量的使用,并回答问题。(1) 用两组数据,给出运行结果。(2) 回答外部变量与内部变量的不同(3) 思考:本题如不采用外部变量定义形式,同样采用主函数调用子函数方式如何实现?2) 变量的存储类型验证:自动变量与静态变量的特性,理解变量的存储方式。题目:根据以下程序,写出程序运行结果,并指出自动变量与静态变量的区别。/实验5_4.2:sy5_4.2.cpp#include using namespace std;void auto_static( ) int var_auto=0; static int var_static=0; coutvar_auto=va

29、r_autoendl; coutvar_static=var_staticendl; +var_auto; +var_static;void main()int i;for(i=0; i5; i+)auto_static();5. 函数的编程应用编写程序,计算下面公式并输出结果。c(1)编写一个函数计算n!(2)编写主函数,由键盘输入n和m,调用(1)中的函数完成计算。(3)输入n和m要给出提示,并检查n和m的合理性,不合理的输入应输出错误信息,并不再进行计算。(4)运行程序,输出计算, , 本次实验完成后,请填写实验完成情况汇总表题号完成情况知识点掌握情况难度系数测试评价1函数的定义与调用易

30、了解, 掌握2函数参数的传递及函数的嵌套调用中掌握3函数的递归调用难理解4全局变量与局部变量及变量的存储类型易了解,掌握5函数的编程应用中应用实验6 指 针一、实验目的1掌握指针的概念;2学会通过指针处理普通变量和一维数组;3学会通过指针处理动态分配的内存;4学会将一个问题提炼出数学模型,学会利用数学模型编写程序的方法。二、实验设备与平台1. 实验设备:计算机;2. 平台:windows xp操作系统,microsoft visual c+ 6.0或microsoft visual studio 2005。三、实验内容实验6_1: 要求使用指针处理下面的问题,输入四个整数,按由小到大的顺序输出

31、(使用指针处理“实验2-3”);然后将程序改为:输入四个字符串,按由小到大顺序输出。实验6_2: 通过指针处理下面的问题:利用随机函数模拟产生300个112月出生的人数, 四、实验指导1. 实验6_1第一部分参考程序:/sy6_1.cpp行号程序代码1#include 2void main()3int a,b,c,d,t;4int *pa=&a,*pb=&b,*pc=&c,*pd=&d;5std:cout *pa*pb*pc*pd;7if (*pa*pb)/第一个数和第二个数比较8t=*pa;*pa=*pb;*pb=t; /两个数交换9if (*pb*pc)/第二个数和第三个数比较10t=*p

32、b;*pb=*pc;*pc=t; 11if (*pc*pd)/第三个数和第四个数比较12t=*pc;*pc=*pd;*pd=t; 13if (*pa*pb)/第一个数和第二个数比较14t=*pa;*pa=*pb;*pb=t; 15if (*pb*pc)/第二个数和第三个数比较16t=*pb;*pb=*pc;*pc=t; 17if (*pa*pb)/第一个数和第二个数比较18t=*pa;*pa=*pb;*pb=t; 19std:cout std:endl排序结果如下:;20std:cout*pa, *pb, *pc, *pdstd:endl;21问题1:将程序修改为由大到小顺序输出。提示:将程序

33、第7、9、11、13、15、17行的“”号。问题2:完成题目的第二部分提示:对上面的程序作如下修改:1、 打开字符串处理函数的头文件在第1行下面增加1行 #include 2、将整型变量改为字符串变量第3、4行改为:char a100,b100,c100,d100,t100;char *pa=a,*pb=b,*pc=c,*pd=d;3、将输入整数改为输入字符串第6行改为:std:cinpapbpcpd;4、将整数比较大小改为字符串比较大小第7、9、11、13、15、17行中原比较整数大小使用字符串比较函数来比较,如第7行改为:if (strcmp(pa,pb)0)5、将整数赋值改为字符串拷贝第

34、8、10、12、14、16、18行中整数赋值改为使用字符串拷贝函数,如第8行第1个赋值语句改为:strcpy(t,pa);6、将整数输出改为字符串输出第20行改为:std:cout std:endlpa std:endl pb std:endlpcstd:endlpd std:endl”运算符的使用。4结构体作为函数参数时宜用指针形式,并注意实际参数的调用形式。实验7_1: 处理5个学生的信息的参考程序:/sy7_1.cpp#include iostreamusing namespace std;struct stuint sn;char name20;int score3;int avera

35、ge; students5;void main()int i, j, t;for(i=0; i studentsi.sn;;studentsi.average = 0;for(j=0; jstudentsi.scorej;studentsi.average += studentsi.scorej;studentsi.average /= 3;for(i=0; i 5; i+)for(j=i+1; j 4; j+)if(studentsj.average studentsj+1.average)t = studentsj.average;studentsj.av

36、erage = studentsj+1.average;studentsj+1.average = t;cout输出平均分在前3名的学生的姓名及平均分:endl;for(i=0; i 3; i+) studentsi.averageu.i0u.i1; /或 cinu.b;couti0=u.i0 i1=u.i1 a=u.a b=u.b c0=u.c0 c1=u.c1 c2=u.c2 c3=u.c3u.i0u.i1;语句改为cinu.b;输入60000给b,分析运行结果。3. 问题:假如一个学生的信息表中包括学号、姓名、性别和一门课的成绩。而成绩通常又可采用两种

37、表示方法:一种是五分制,采用的是整数形式;一种是百分制,采用的是浮点数形式。现要求编一程序,输入一个学生的信息并显示出来,成绩采用两种表示方法,按照要求编写程序并上机通过。五、实验结果1实验分析结论(打印件)。2算法说明文档(打印件)。3源程序实验8 文件(多文件程序结构)一、实验目的及要求目的:掌握多文件程序结构的基本操作流程,熟悉有关操作的常用函数的使用,并能够根据实际编程需要进行灵活运用。要求:能够运用多文件程序完成一个完整的程序功能操作流程。二、实验设备与平台1. 实验设备:计算机;2. 平台:windows xp操作系统,visual c+ 6.0。三、实验内容及步骤实验8_1:输入

38、一串字符,再输入一个指定字符,将字符串中删去指定字符再显示出来。要求程序把输入字符串、删除指定字符和显示字符串的功能分别在各自单独的.cpp文件由外部函数来处理,主文件中的主函数只作调用各外部函数实现程序功能。/文件sy8_1.cpp#include using namespace std;#includesy8_2.cpp#includesy8_3.cpp#includesy8_4.cppvoid main()extern enter_string(char str80);extern delete_string(char str,char ch);extern print_string(c

39、har str);/以上3行声明是在其他文件中定义的3个函数char c;char str80;cout请输入一串字符串,按回车结束:endl;enter_string(str); cout请输入一指定字符,按回车结束:c;delete_string(str,c);cout该字符串,删除指定字符后的字符串为:;print_string(str);coutendl;/文件sy8_2.cpp#includeusing namespace std;enter_string(char str80) /定义外部函数enter_stringgets(str); /读入字符串str/文件sy8_3.cppdelete_string(char str,char ch) /定义外部函数delete_stringint i,j;for(i=j=0;stri!=0;i+)if(str

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论