东北石油大学C实验教案年度第3学期_第1页
东北石油大学C实验教案年度第3学期_第2页
东北石油大学C实验教案年度第3学期_第3页
东北石油大学C实验教案年度第3学期_第4页
已阅读5页,还剩14页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

1、东北石油大学实验课教案单位计算机基础教育系实 验 室计算中心课程名称C程序设计主讲教师时贵英职称副教授2017年1月21日1/19实验课程名称类别教师姓名是否主讲专业教材讲义实验目的实验要求实验环境实验学期理论学时40C 程序设计实验课时30上交报告次数12必修() 限选( ) 任选()实验类型验证性时贵英职称副教授学位硕士是实验条件每生一台计算机应数、统计、信计、应数 161,统计 161,信计 161-2,给水授课地点计算中心机房授课班级给水、土木161-2 ,土木 161-2教材:C 程序设计教程(第 2 版)马瑞民等 清华大学出版社 2015实验讲义:C 程序设计实验指导与习题集 (第

2、 2 版) 衣治安等清华大学出版社 2015通过实验能够理解 C 程序设计的基本方法, 具备调试各种程序的能力, 掌握各种语句结构的应用,对于出错信息能够快速识别出错位置和出错原因。实验前编写出程序,上机实验时记下遇到的问题、错误提示、解决方法及运行结果;实验后分析出现问题的原因及需注意的问题,实验后能够按要求写出规范的实验报告。学生在计算中心机房进行实验,每个机房都提供高档的奔腾微机,并且安装了全部的教学用软件,每个学生一台微机,能够满足教学要求。2016-2017 学年第 3、4 学期2/19实验名称顺序结构程序设计实验次数第 1次是否上交报告否实验内容(教学过程)备注1. 掌握程序调试的

3、方法。2. 掌握赋值语句的应用。3. 理解不同数据类型的应用方法。实4. 掌握各种表达式的应用。验5. 掌握一些常用数学函数的应用。目6. 理解整型数据和字符型数据的混合应用。的7. 掌握输入输出的概念和输入输出函数。8. 掌握格式输入输出函数的应用场合。9. 掌握不同类型数据对应的格式符。10. 自如控制数据的输出形式。1计算 53+27+66+78+103的平均值。注意:数据类型和格式符必须一致,除号的用法。2下面程序的功能是使变量a 的值是 1,变量 b 的值是 10。main()实int a,b; scanf("%d%d",&a,&b); print

4、f("a=%d,b=%dn",a,b);分析讨论:验运行程序,注意数据输入形式要与格式语句中给定的格式相匹配。项如果输入语句变为 scanf("%d,%d",&a,&b); 该如何输入?目3 将华氏温度转化为摄氏温度( c 表示摄氏温度, f 表示华氏温度) 。 c=5/9 (f-32)4 编程交换变量a,b 的值,如输入a 的值为1, b 的值为 5,则输出a的值为 5, b 的值为 1。5 输入三角形的三边长,用海伦公式求其面积。1 数据类型与输出格式是否可以不一致?2 将程序 1 中的输出格式 %d 分别改为 %3d、 %-3d、

5、%03d 、 %-03d ,将显示什么结果?思3 将程序 1 中的输出格式 %6.1f 分别改为 %-6.1f 、%6.3f 、%.1f ,将显示考什么结果?题4 将某一程序中的一个变量声明删除,会有什么情况发生?5 使用 scanf 函数输入数据时。是否可以随意输入?6 数学表达式和C 表达式的表示方式有何区别?实验报告要求3/19实验名称选择结构程序设计实验次数第 2次是否上交报告是实验内容(教学过程)备注实1掌握关系运算和逻辑运算的应用。验2掌握选择结构应用的场合。目3掌握 if 语句的三种形式。的4了解 switch 语句的结构和应用。1 输入一个年份,判断其是否为闰年,若是闰年输出“

6、yes ”的信息,否则输出“ no”的信息。2 输入三角形的三边,判断是否能构成三角形。若能构成输出YES,否则输出 NO。3 输入三个整数x,y,z,请把这三个数由小到大输出。4 计算分段函数,测试数据分别是-2 、 3、 7。实验项目5 编程求下面分段函数的值。5(x24x6)(x6)27ylog3 16x(6x0)23x34(x0)76 实现如下分段函数的功能。请根据输入的x,输出对应的结果。7 输入一个年份和月份,输出这个月的天数。(用 switch实现)1 if 语句的基本形式及其执行过程?思2 数学中的关系表达与C语言有何区别?3 break 与 continue有何区别?考4 在

7、使用 if else 时应注意什么?题5 将数学表达式写成 C 语言表达式应注意些什么?6 switch 的执行过程?实验报告要求4/19实验名称循环结构程序实验次数第 3次是否上交报告是设计(一)实验内容(教学过程)备注实验目的1. 掌握两种结构的语法规则和执行步骤。2. 掌握两种循环的控制条件。3. 掌握初值、循环条件和循环体顺序三者的制约关系。4. 掌握这两种结构的异同之处。编程题1. 用辗转相除法求两个正整数的最大公约数。2. 求出三位数中满足条件的所有数:三个数字之积为32,三个数字之和为3. 求任一正整数的各位数字之和。4. 程序功能是输入一个长整数, 求各位数字的平方和 s。如果

8、输入的是负数,求其相反数的各位数字的平方和。例如:输入 -123 ,输出 14。5. 用公式 /4 1-1/3+1/5 求 的近似值,要求直到最后一项的绝对值小于 0.000001 为止。实6. 输入若干学生成绩, 以负数结束输入。 计算所有学生的平均成绩并统计成验绩在 80 到 90 分(不含 90)之间的人数。项目1 如何合理的选用while循环和 do-while循环?2 使用循环时应注意些什么问题?思3 怎样分析循环结构?考4. 怎样设计循环结构的程序?题一、实验目的二、实验项目 (1 、 2 题)实三、实验内容 ( 程序 )验四、实验结果 ( 各种测试数据对应的运行结果 )报告要求5

9、/19实验名称循环结构程序实验次数第 4次是否上交报告是设计(二)实验内容(教学过程)备注实验目的1. 掌握 for 语句的语法结构和执行顺序。2. 掌握 for 语句执行次数的计算方法。3. 掌握 break 语句和 continue 语句的用法。4. 掌握适合用 for 语句编程的循环问题。编程题:1求下面表达式的值。1*2+2*3+ +20*21 。2输入一个整数n,求 1+2+3+ +n 的累加和。3输出 1,40之间的所有能被3 整除的数,及数的个数。4输入两个整数 ,n1,n2( 要求 n1<n2) ,统计两整数范围内被 3 整除的数的个数。5求 1-3+5-7+ -99+1

10、01的值。6输出斐波那契(Fibonacci)数列( 1,1,2,3,5,8,13)的前20 项7从键盘上输入10 个整数,求出其中的最大值。8用 for循环求 n!。实9求 1! +2! +3! + +n!,n<12, 要求用一重循环设计程序。验10编程求出120 之间的奇数之和,偶数之积。项11打印水仙花数。水仙花数是一个三位数,其各位数字的立方和与原数相目等。12从键盘输入一个任意正整数判断其是否为素数,若为素数则输出"YES",否则输出 " NO" 。13任意输入10 个整数,求其中偶数之积。14计算数列的第n 项。思考题15求出以下分数序

11、列的前20 项之和。1 判断素数时应注意些什么?2 编程求表达式结果时应如何分析?一、实验目的实二、实验项目 (2 、 5 题)验三、实验内容 ( 程序 )报四、实验结果 ( 各种测试数据对应的运行结果 )告要求6/19实验名称实验目的实验项目顺序、选择、循环三种实验次数第 5次是否上交报告是程序结构的综合应用实验内容(教学过程)备注1. 掌握多重循环的设计方法。2. 掌握多重循环的设计技巧。3. 掌握多重循环的执行过程。4. 掌握顺序、选择、循环三种程序结构的综合应用。1 求 1!+3!+5!+ +n! 的和,要求用循环嵌套设计,n<12。2 算式:? 2*7 ? =3848 中缺少一

12、个十位数和一个个位数。编程求出使该算式成立时的这两个数,并输出正确的算式。3 输出 100 到 1000 之间的各位数字之和能被15 整除的所有数,输出时每5 个一行,每个数输出占4 列列宽。4 请编程序打印如下四种图形。*$*$*$*$*$*5 按如下格式打印直角九九乘法表1*1=12*1=22*2=43*1=33*2=63*3=94*1=44*2=84*3=12 4*4=165*1=55*2=10 5*3=15 5*4=20 5*5=256*1=66*2=12 6*3=18 6*4=24 6*5=30 6*6=367*1=77*2=14 7*3=21 7*4=28 7*5=35 7*6=4

13、2 7*7=498*1=88*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=649*1=99*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=817/196用 0-9 之间不同的3 个数构成一个3 位数,统计出共有多少种方法。7统计 100 以内的各位数字之和为5 的自然数的个数。8编程求出大于m的最小素数。9求出 100 200 之间的全部素数,每行输出8 个数,每个数宽度为5列。10求出 200 以内各位数字之和为9 的所有数的平均值。11输入 n,然后求下式的值。12求 Sn a+aa+aaa

14、+.+aa.a之值,其中a 是一个数字。例如:2+22+222+2222( 此时 n4) , n 由键盘输入。1 图形输出的分析步骤为什么?2 在使用循环的过程中应注意哪些问题?思考题实验报告要求一、实验目的二、实验项目(3 、 4 题 )三、实验内容( 程序 )四、实验结果( 运行结果 )8/19实验名称实验目的实验项目思考题实验报告要求一维数组实验次数第 6次是否上交报告是实验内容(教学过程)备注1. 掌握一维数组定义、初始化和元素引用的方法。2. 掌握一维数组的输入、输出方法。3. 掌握一维数组存储和移动的方法。4. 掌握一维数组的常用算法。1有一数组内放 5 个整数,要求找出第一次出现

15、的最小数和它的下标,然后把它和数组中最前面的元素即第一个数对换位置。2找出含有10 个元素一维组数中的最大值和最小值,并互换这两个数的位置。3从键盘上输入若干(<20)个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。4用数组存储并输出Fibonacci数列的前20 项,按 5 个一行输出5一个数列的前三个数是0、 0、 1,以后的每个数都是前三个数的和,编程求改数列的前20 项,并按每行4 个数的格式输出。6对 n 个整数组成的一维数组按逆序重新存储并输出(n<10)。7一个数组有8 个元素,将前3 个元素通过移动串到后3 个位置上,如果其初始数据

16、为:1 2 3 4 5 6 7 8不增加数组,也不增加数组的存储单元,通过移动数组元素将数组变化为:4 5 6 7 8 1 2 38在一维数组中有10 个整数,求出其中能被5 整除的所有数的和。9将 10 个数中的所有偶数除以2,所有奇数乘以2 后输出这些数值。10在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列,已知升序数组1, 2, 4, 6, 8, 9, 12, 15, 149, 156 。11从键盘上输入10 元素的值存入一维数组m中,然后将下标为(0.2. 4.6. 8 )的元素值赋值给数组 n,最后输出数组 n 的内容。12输入 10 个正整数到a 数组中,求a

17、数组中素数的平均值。13输入 10 个无序的整数,用选择法对10 个整数按升序排序,注意要求只排 3轮。14对 n 个整数组成的一维数组用顺序法按从小到大排序后输出(4<n<10),要求排序只排3 轮。1 使用一维数组时应注意哪些问题?2 怎样使随机函数每次运行产生不同组的测试数据?3 选择法排序的算法是怎样描述的?一、实验目的二、实验项目(1 、3 题 )三、实验内容( 程序 )四、实验结果( 写出各种测试数据对应的真实结果)9/19实验名称实验目的实验项目二维数组实验次数第 7次是否上交报告是实验内容(教学过程)备注1. 掌握二维数组的定义、初始化和元素表示方法。2. 掌握二维

18、数组输入输出的方法。3. 掌握二维数组中行列的操作方法。4. 掌握以主副对角线分隔的各种三角矩阵的处理方法。5. 掌握与二维数组相关的常用算法。1产生并输出如下形式的方阵。1222221312221433121443331444331514431555141 5555512打印 n 行杨辉三角, n<103将一个 3×3 矩阵转置(即行和列互换) 。4求一个 5×5 方阵主对角线元素的和以及副对角线元素的积。5输入一个 4×4 数组,求一个 4×4 数组左下三角 ( 包括主对角线 ) 元素的和。6求 5× 5 数组除了四条边框之外的元素的

19、和。7求一个 4×5 数组周边元素的累加和。8求一个 3×4 数组中大于等于平均值的所有数组元素的和,并统计满足条件的元素个数。本题中用到的所有变量均为整型。9求一个 3*3 二维数组中每行的最大值和每行的和。思考题实验报告要求1 二维数组的使用应注意哪些问题?2 方阵的下标特点是什么?3 怎样分析矩阵的产生?一、实验目的二、实验项目(1 、2 题 )三、实验内容( 程序 )四、实验结果( 写出各种测试数据对应的真实结果)10/19实验名称实验目的实验项目字符数组实验次数第 8次是否上交报告是实验内容(教学过程)备注1. 掌握字符数组和字符串之间的联系和区别。2. 掌握字符

20、数组和字符串的输入输出方法。3. 掌握常用的字符处理函数。4. 能熟练应用字符串结束标记处理字符数据。1 把一个字符串中的大写字母改成小写字母,其他字符不变。2 将字符串中每一个数字字符都替换成一个$字符。3 把一个字符串中的所有字符按从小到大排序。4 分别统计一个字符串中出现小写字母、大写字母、数字和空格的个数。5 输入 3 个学生的姓名,并按姓名的字母前后顺序升序输出学生名单。6 将一个字符串中的字符逆序存放。如字符串为 “ abcde" ,则逆序存放后应为 "edcba" 。7 将一个字符串中的前n 个字符复制到一个字符数组中去,n 值小于字符串实际长度,不

21、许使用strcpy函数。8 连接两个字符串,不允许使用strcat函数。9 将 s 所指字符串的反序和正序进行连接形成一个新串放在t 所指的数组中。10从键盘输入一个字符串,再输入两个整数m 和 n,将字符串从下标为m的字符开始的n 个字符复制到另一个字符数组中。11删除字符串中的指定字符,字符串和要删除的字符均由键盘输入。12删除一个字符串中下标为偶数的所有字符,将剩余字符组成一个新串输出。13将一个字符串中的所有数字字符删掉,将剩余字符组成一个新串输出。思考题实验报告要求1 使用字符串应注意哪些问题?2 字符串中的0 有什么意义3 字符串的赋值、比较与普通变量有何区别?一、实验目的二、实验

22、项目(1 、 3 题 )三、实验内容( 程序 )四、实验结果( 写出各种测试数据对应的真实结果)11/19实验名称函数(一)实验次数第 9次是否上交报告是实验内容(教学过程)备注实验目的1. 掌握函数的定义和说明的方法。2. 掌握函数调用的方法。3. 掌握函数参数传递的规律。4. 掌握函数参数确定的原则。1编写子函数求下列表达式前n 项的和。2. 编写函数 fun ,函数的功能是求一个数的各位数字的立方和。3. 编写函数 fun ,功能是用下面的表达式求圆周率的近似值,直到最后一项的绝对值小于等于一个给定的数值。实验项目思考题实验报告要求4. 编写函数 fun ,求下列表达式前 n 项的和。5

23、. 编写函数 fun ,函数的功能是: 求一分数序列 2/1 ,3/2 ,5/3 ,8/5 ,13/8 ,21/13 的前 n 项之和。6.编写函数fun ,其功能是:判断一个整数的各位数字平方之和能否被5 整除,可以被5 整除则返回1,否则返回0。7.编写函数fun ,其功能是:计算出小于k 的最大的10 个能被 13 或 17 整除的自然数之和。 ( 100<k<3000 )8. 编写函数 fun 其功能是 : 求一个大于 10 的 n 位整数 w 的后 n-1 位的数,并作为函数值返回。例如:当 w=1234时,返回 234。1 用户自定义函数的声明、调用、定义应注意哪些问题

24、?2 函数参数传递的关系?3 用户自定义函数何时使用return?12/19实验名称函数(二)实验次数第 10次是否上交报告是实验内容(教学过程)备注实1.掌握数组作参数时函数的定义方法。2.掌握数组作参数时对应数组元素变化的特点。验3.掌握数组作函数参数的常用算法。目的1. 编写函数 fun ,求一批整数中小于平均值的数的个数。2. 编写函数 fun ,找出一批正整数中的最大的偶数。3. 编写函数 fun ,求一批整数最大值和最小值的差。4. 从键盘为一维整型数组输入 n(<10)个整数,调用 fun 函数找出其中最小的数,并在 main 函数中输出。实验项目5.编写函数fun ,实现

25、对数组元素的串位。数组有n 个元素,要求在不增加数组,也不增加数组存储单元的情况下,通过数组元素的移动将数组的前m个元素,移动到数组的后面。6. 输入 n( <10)个整数,用任一排序算法按从小到大排序后输出。7. 求一个 3 行 3 列主对角线元素的平方和。输入输出由主函数完成。8. 输入二维数组的所有元素,求二维数组右上三角(包括主对角线)元素之和。思1 数组元素作函数参数与数组名作函数参数有何区别?考2 怎样从自定义函数中获取多个数据?题3 什么时候使用数组名作函数参数?实验报告要求一、实验目的二、实验项目(1 、 3 题 )三、实验内容( 程序 )四、实验结果( 写出各种测试数据

26、对应的真实结果)13/19实验名称实验目的实验项目思考题实验报告要求函数编程的综实验次数第 11次是否上交报告是合性实验实验内容(教学过程)备注1. 掌握三种基本程序结构的综合应用2. 掌握常用算法及函数的定义和使用3. 掌握程序设计思路4. 理解与掌握综合程序设计的方法1.编程用递归函数求n! ,然后调用该函数计算5!+7!+9!的值。2. 递归法求两个数的最大公约数。3. 用递归法求数组的最大值4. 编写函数 fun ,函数的功能是:求一个字符串中字母的个数。5. 从字符串 s 中删除指定的字符 c。6. 编写一个函数 fun ,将字符串反序存放。例如:在主函数中输入字符串"ab

27、cdefg",调用函数后,则应输出"gfedcba"。7. 输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字母个数。1怎样分析 递归函数?2 怎样定义递归函数?3 使用递归函数应注意些什么?一、实验目的二、实验项目三、实验内容四、实验结果14/19实验名称实验目的实验项目思考题实验报告要求指针(一)实验次数第 12 次是否上交报告是实验内容(教学过程)备注1. 掌握指针的概念和指针的定义。2. 掌握通过指针变量间接访问存储单元内容的方法。3. 掌握指针与函数的关系。4. 掌握一些常用指针的用途。1 用指针变量作参数, 编写一个互换变量值的函

28、数, 调用该函数, 将三个整数按从小到大输出。2. 函数 void fun(float *s,int n)的功能是:根据以下公式:s 1111( 1) n 113572n计算 s 的值,通过形参指针传回s 的值, n 的值通过形参传入,n 的值大于等于 0。3. 编写函数,求一组数中的最大值、最小值和平均值。函数接口定义: float fun(int a,int n,int *max,int *min);4. 编写一个函数 num,其功能是找出 1n 之内能被 7 或 11 整除的所有整数放在数组 a 中,通过 k 返回数据的个数。函数接口定义:void num(int n,int *a,in

29、t *k);5. 函数 fun 的功能是将字符串中每一个数字字符都替换成一个#字符。函数接口定义:void fun(char *s);1 怎样正确使用指针变量作函数参数交换两个变量的内容?2 形参指针的变化与实参是否有关?一、实验目的二、实验项目(2 、 4 题 )三、实验内容( 程序 )四、实验结果( 写出各种测试数据对应的真实结果)15/19实验名称指针(二)实验次数第 13 次是否上交报告是实验内容(教学过程)备注实验目的1. 掌握用指针变量处理一维、二维数组的基本方法。2. 掌握用指针变量作函数参数和数组名作函数参数的异同。3. 掌握用指针变量处理字符串的方法。4. 掌握用指向 n 个

30、数据的指针变量处理二维数组的方法。5. 了解用指针数组处理二维数组的方法。1. 编写函数用顺序交换法对 n 个数据从小到大排序,调用该函数实现对数组部分数据的排序。2. 将数组中的元素按逆序重新存放。3. 编写一个函数 num,其功能是:找出 1,n 之内能被 7 或 11 整除的所有整数放在数组 a 中,通过 k 返回数据的个数。函数头如下:void num(int n,int *a,int *k)在主函数中调用函数并输出结果。如果n 的值是 40,则程序输出:711142122283335实4. 编写一个函数用来比较两个字符串的长度,函数返回较长的字符串。如果两验个字符串相等,则返回第一个

31、字符串。( 函数中不许使用系统提供的strlen库项函数 )目本程序中,用于比较的函数头用下面的形式:char *fun(char *s,char *t)5. 编写函数用行指针作参数实现矩阵转置,在主函数中调用函数。6. 填充方阵。 一个 n× n 方阵, 把副对角线填 1,右下三角填 2,左上三角填 3。通过行指针实现。思考题实验报告要求1. 指针作函数参数与数组名作函数参数有区别吗?2. 指针访问二维数组有哪些等价关系?一、实验目的二、实验项目(2、3、 5 题)三、实验内容(程序)四、实验结果(程序的运行结果)16/19实验名称实验目的实验项目结构体实验次数第 14 次是否上交

32、报告否实验内容(教学过程)备注1. 掌握结构体类型、变量的定义和变量的初始化方法。2. 掌握结构体类型数组的定义和初始化方法。3. 了解结构体类型变量作函数参数。1. 程序填空。 结构体类型数据的输入输出。#include "string.h"main()struct tudentint num;char name15;float score; stu4;int i; float f;for(i=0;i<4;i+)scanf("%d",【 1】 );scanf("%s",【 2】 );scanf("%f",&

33、amp;f);stui.score=【 3】 ;for(i=0;i<4;i+)printf("%6d %10s %.1fn",stui.num,,stui.score); printf("n");2. 程序填空。对于一些学生数据,其中含有三门课成绩,请按成绩从高到低进行排序。struct studentint num; char name15; float score3; float sum; ; void sort(struct student *p,int n)int i,j; struct student t;for(i=0

34、;i<n-1;i+)for(j=i+1;j<n;j+)if(【 1】 ) t=pi;【 2】;pj=t;void calc(struct student *p,int n)int i,j;for(i=0;i<n;i+)pi.sum=0;for(j=0;j<3;j+) pi.sum+=pi.scorej;main()struct student stu5;int i,j;float f;17/19for(i=0;i<5;i+)scanf("%d%s",&stui.num,);for(j=0;j<3;j+) scan

35、f("%f",&f); stui.scorej=f; calc(stu,5);【 3 】;for(i=0;i<5;i+)printf("%5d%15s",stui.num,);printf(" %.1f %.1f %.1fn",stui.score0,stui.score1,stui.score2); 3. 某学生的记录由学号、8 门课成绩和平均分组成,学号和8 门课成绩在主函数中给出。请编写 fun 函数,它的功能是:求出该学生的平均分放在 ave 成员中。函数中的参数由读者自己给出。#define N 8typedef structchar num10;double sN;double ave;STREC;void fu

温馨提示

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

评论

0/150

提交评论