C程序设计实训教程_第1页
C程序设计实训教程_第2页
C程序设计实训教程_第3页
C程序设计实训教程_第4页
C程序设计实训教程_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、C程序设计实训教程 杨金龙主编北京希望电子出版社第1章 C语言概述1.4从键盘输入两个整数,通过函数的调用来求得其中的大者,在屏幕上输出其值。解:main()int a,b,c;scanf(%d, %d, &a, &b) ;c = max(a, b); max(x,y)printf(max = %d, c);int max(x,y)int x, y;int z;if (xy) z = x;else z = y;return z;第2章 C语言程序设计基础 2.8写出下面程序执行后的输出结果:#include void main() /* 换行符n,用于输出换行 */ printf(How ar

2、e you?n); printf(I am fine.nn); /* 横向跳格符t,使跳到下一个输出区 */ printf(How are you?t); printf(I am fine.nn); /* 退格符b,使当前的输出位置退一格,即输出的起始位置左移一位 */ printf( How are you?n); printf( bI am fine.nn); /* 回车符r,使当前输出位置回到本行开头 */ printf( I am fine.); printf(rHow are you?nn); /* 多个转义字符的混合运用 */ printf(note:n a stibbkrpn);

3、2.9写出下面程序执行后的输出结果:# include void main() /* 定义一个整数类型的变量,用来存放后面算式的值 */ int logic; int a = 1; int b = 2; int c = 3; logic = a+bc&b=b+c|b=c; printf(logic = %dn, logic); logic = !(ac)+b!=1&(a+c)/2; printf(logic = %dn, logic);2.10写出下面程序执行后的输出结果:# include void main() int i, j, k; int m, n, p; i = 8; j = 10

4、; k = 12; /* 自增在操作数之前 */ m = +i; printf(i = %dn, i); printf(m = %dn, m); /* 自减在操作数之后 */ n = j-; printf(j = %dn, j); printf(n = %dn, n); /* 自增、自减的混合运算 */ p = (+m)*(n+)+(-k); printf(k = %dn, k); printf(p = %dn, p);2.11写出下面程序执行后的输出结果:# include void main() /* 定义了一个无符号字符型变量,此变量只能用来存储无符号数 */ unsigned char

5、 result; int a, b, c, d; a = 2; b = 4; c = 6; d = 8; /* 对变量进行“按位与”操作 */ result = a & c; printf(result = %dn, result); /* 对变量进行“按位或”操作 */ result = b | d; printf(result = %dn, result); /* 对变量进行“按位异或”操作 */ result = a d; printf(result = %dn, result); /* 对变量进行“取反”操作 */ result = a; printf(result = %dn, re

6、sult);第3章 选择结构程序设计 3.4通过编程来求一元二次方程的解。解:#include math.hmain() float a,b,c,disc,x1,x2,p,q; printf(输入一元二次方程的系数a,b,c :);scanf(%f,%f,%f, &a, &b, &c); disc=b*b-4*a*c; if (fabs(disc)1e-6) x1=(-b+sqrt(disc)/(2*a); /*求出两个不相等的实根*/ x2=(-b-sqrt(disc)/(2*a); printf(x1=%7.2f,x2=%7.2fn, x1, x2); else p=-b/(2*a); /

7、*求出两个共轭复根*/ q=sqrt(fabs(disc)/(2*a); printf(x1=%7.2f + %7.2f in, p, q); /*输出两个共轭复根*/ printf(x2=%7.2f - %7.2f in, p, q); 运行结果:输入一元二次方程的系数a,b,c :1,7,5 x1= -0.81,x2= -6.19输入一元二次方程的系数a,b,c :4,5,7 x1= -0.62 + 1.17 ix2= -0.62 - 1.17 i 3.7已知某公司员工的保底薪水为500,某月所接工程的利润profit(整数)与利润提成的关系如下(计量单位:元): profit1000 没

8、有提成;1000profit2000提成10%;2000profit5000提成15%;5000profit10000提成20%;10000profit提成25%。解:main() long profit; int grade; float salary=500; printf(Input profit: ); scanf(%ld, &profit); /* 将利润-1、再整除1000,转化成switch语句中的case标号 */grade= (profit-1) / 1000; switch(grade) case 0: break; /*profit1000 */ case 1: sala

9、ry += profit*0.1; break; /*1000profit2000 */ case 2: case 3: case 4: salary += profit*0.15; break; /*2000profit5000 */ case 5: case 6: case 7: case 8: case 9: salary += profit*0.2; break; /*5000profit10000 */ default: salary += profit*0.25; /*10000profit */ printf(salary=%.2fn, salary);运行结果:Input pr

10、ofit: 800 salary=500.00Input profit: 5000 salary=1250.00Input profit: 10000 salary=2500.00Input profit: 12000 salary=3500.00第4章 循环控制程序设计 4.4通过编程来判断101-200之间有多少个素数,并输出所有素数。解:【程序分析】判断素数的方法:用一个数分别去除2到sqrt(该数),如果能被整除,则表明此数不是素数,反之是素数。 #include math.hmain()int m,i,k,h=0,leap=1;printf(n);for(m=101;m=200;m+

11、) k=sqrt(m+1);for(i=2;i=a&c=A&c=0&c=9)digit+; elseothers+;printf(all in all:char=%d space=%d digit=%d others=%dn,letters,space,digit,others);运行结果:please input some charactersWe can fly in the sky! 12,3 all in all:char=16 space=6 digit=3 others=3please input some characters1,2,3,4 are one,two,three,f

12、our? all in all:char=18 space=2 digit=4 others=74.14古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?解:【程序分析】兔子数量的规律为数列1,1,2,3,5,8,13,21.main() long f1,f2; int i; f1=f2=1; for(i=1;i=20;i+) printf(%12ld %12ld,f1,f2);if(i%2=0) printf(n); /*控制输出,每行四个*/f1=f1+f2; /*前两个月加起来赋值给第三个月*/f

13、2=f1+f2; /*前两个月加起来赋值给第三个月*/运行结果: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155第5章 数组 5.1从键盘上任意输入n个整数,用冒泡法按从小到大地排序,并在屏幕上显示出来。解:#i

14、nclude stdio.h#define NUM 10 /*定义符号常量(数据个数N)*/main() int dataNUM; /*定义1个1维整型数组data*/ int i,j,temp; /*定义循环变量和临时变量*/ clrscr(); /*库函数clrscr():清屏*/ printf(Please input 10 numbers:n); for(i=0; iNUM; i+) scanf(%d, &datai); /*冒泡法排序*/ for(i=0; ii; j-) /*内循环:进行每趟比较*/ if(datajdataj-1) /*如果dataj大于dataj-1,则交换位置

15、*/ temp=dataj; dataj=dataj-1; dataj-1=temp; /*输出排序后的数据*/ printf(nthe result of sort:n); for(i=0; iNUM; i+) printf(%d ,datai); getch(); /*库函数getch():等待键盘输入任一字符,目的使程序暂停,以便于观察结果*/ 运行结果:Please input 10 numbers:6 4 2 8 3 9 10 5 0 -4 the result of sort:-4 0 2 3 4 5 6 8 9 105.4用选择法对10个数进行排序。解:【程序分析】从后9个比较过

16、程中,选择一个最小的与第一个元素交换,依此类推,即用第二个元素与后8个进行比较,并进行交换。 #define N 10main()int i,j,min,tem,aN;printf(请输入10个整数:n);for(i=0;iN;i+)printf(a%d=,i);scanf(%d,&ai);printf(原始数据的顺序如下:n);for(i=0;iN;i+)printf(%5d,ai);printf(n);/*选择法排序 */for(i=0;iN-1;i+)min=i;for(j=i+1;jaj) min=j;tem=ai;ai=amin;amin=tem;printf(排序后的顺序为:n);

17、for(i=0;iN;i+)printf(%5d,ai);运行结果:请输入10个整数:a0=2 a1=3 a2=1 a3=65 a4=34 a5=76 a6=23 a7=4 a8=5 a9=10 原始数据的顺序如下: 2 3 1 65 34 76 23 4 5 10排序后的顺序为: 1 2 3 4 5 10 23 34 65 765.13有一个已经排好序(假设为升序排列)的数组。现输入一个数,要求按原来的规律将它插入数组中。解: main() int a11=1,4,6,9,13,16,19,28,40,100; int temp1,temp2,number,end,i,j; printf(原

18、始数组情况为:n); for(i=0;iend) a10=number; else for(i=0;inumber) temp1=ai; ai=number; for(j=i+1;j11;j+) temp2=aj; aj=temp1; temp1=temp2; break; printf(插入之后数组的情况为:n);for(i=0;i11;i+) printf(%6d,ai); 运行结果;原始数组情况为: 1 4 6 9 13 16 19 28 40 100请输入要插入的数:12 插入之后数组的情况为: 1 4 6 9 12 13 16 19 28 40 100第6章 函数 6.3通过函数实现

19、矩阵(3行3列)的转置(即行列互换)。解:#include #include int convert(int array33) int i,j,t;for(i=0;i2;i+)for(j=i+1;j3;j+)t=arrayij;arrayij=arrayji;arrayji=t;main() int i,j;int array33=100,200,300,400,500,600,700,800,900;clrscr();printf(原始矩阵为:n);for(i=0;i3;i+)for(j=0;j3;j+)printf(%7d,arrayij);printf(n);convert(array)

20、;printf(转置矩阵为:n);for(i=0;i3;i+)for(j=0;j3;j+)printf(%7d,arrayij);printf(n);运行结果:原始矩阵为: 100 200 300 400 500 600 700 800 900转置矩阵为: 100 400 700 200 500 800 300 600 9006.5请编一函数void fun(int ttMN,int ppN),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中,二维数组中的数已在主函数中赋予。解:#include conio.h#include stdio.h#defin

21、e M 3#define N 4void fun(int ttMN,int ppN) int i, j;for(i=0;iN;i+) ppi=tt0i;for(j=0;jM;j+)if(ttjippi) ppi=ttji;main() int tMN= 22,45,56,30,19,33,45,38,20,22,66,40;int pN,i,j,k;clrscr();printf(the original data is:n);for(i=0;iM;i+)for(j=0;jN;j+)printf(%6d,tij);printf(n);fun(t,p);printf(nthe result is

22、:n);for(k=0;kN;k+)printf(%4d,pk);printf(n);运行结果:the original data is: 22 45 56 30 19 33 45 38 20 22 66 40the result is: 19 22 45 306.13利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。解:#include stdio.hmain()int i=5;void palin(int n);printf(input:);palin(i);getch();void palin(int n)char next;if(n=1)next=getchar();pri

23、ntf(output:);putchar(next);elsenext=getchar();palin(n-1);putchar(next);运行结果:input:abcde output:edcba6.20输入10个学生的5门课的成绩,分别用函数求:每个学生的平均分;每门课的平均分;找到所有成绩中的最高分所对应的学生和课程;求出平均分(各学生的平均分)方差。解:# include # define M 5# define N 10float scoreNM;float a_stuN, a_corM;/* 声明子函数 */void input_stu();void avr_stu();void

24、 avr_cor();float highest(int *r, int *c);float s_diff();void main() /* 主函数 */ int i, j, r1=0, c1=1; /*通过数组进行地址方式参数传递*/ float h; input_stu(); /* 调用函数input_stu,输入学生各门功课的成绩 */ avr_stu(); /* 调用函数avr_stu,求出每个学生的平均分 */ avr_cor(); /* 调用函数avr_cor,找出学生成绩中的最高分*/ printf(n序号 课程1 课程2 课程3 课程4 课程5 平均分); for(i=0; i

25、N; i+) printf(n NO%2d, i+1); for(j=0; jM; j+) printf(%8.2f, scoreij); printf(%8.2f, a_stui); printf(n课平均); for(j=0; jM; j+) printf(%8.2f, a_corj); h = highest(r, c); printf(nn最高分%8.2f是 %d号学生的第%d门课n, h, r0, c0); printf( 方差 %8.2fn, s_diff(); getch();void input_stu() /* 输入学生的成绩 */ int i, j; for(i=0; iN

26、; i+) printf(请输入学生%2d的5个成绩:n, i+1); for(j=0; jM; j+) scanf(%f, &scoreij); void avr_stu() /* 计算学生的平均分 */ int i, j; float s; for(i=0; iN; i+) s = 0; for(j=0; jM; j+) s = s + scoreij; a_stui = s/M; void avr_cor() /* 计算课程的平均分 */ int i, j; float s; for(j=0; jM ;j+) s = 0; for(i=0; iN; i+) s = s + scoreij

27、; a_corj = s/(float)N; float highest(int r, int c) /* 找最高分 */ float high; int i, j; high = score00; for(i=0; iN; i+) for(j=0; jhigh) high = scoreij; r0 = i + 1; c0 = j + 1; return high;float s_diff() /* 求方差 */ int i; float sumx, sumxn; sumx = 0.0; sumxn = 0.0; for(i=0; iN; i+) sumx = sumx + a_stui*a

28、_stui; sumxn = sumxn + a_stui; return (sumx/N-(sumxn/N)*(sumxn/N);运行结果:请输入学生1的5个成绩:89 65 89 89 56 请输入学生2的5个成绩:68 65 12 65 55 请输入学生3的5个成绩:45 78 65 23 96 请输入学生4的5个成绩:45 87 87 44 54 请输入学生5的5个成绩:54 98 65 65 51 请输入学生6的5个成绩:98 65 95 95 65 请输入学生7的5个成绩:87 64 62 65 45 请输入学生8的5个成绩:65 64 96 64 65 请输入学生9的5个成绩:6

29、5 56 87 16 46 请输入学生10的5个成绩:89 56 89 87 96 序号 课程1 课程2 课程3 课程4 课程5 平均分 NO 1 89.00 65.00 89.00 89.00 56.00 77.60 NO 2 68.00 65.00 12.00 65.00 55.00 53.00 NO 3 45.00 78.00 65.00 23.00 96.00 61.40 NO 4 45.00 87.00 87.00 44.00 54.00 63.40 NO 5 54.00 98.00 65.00 65.00 51.00 66.60 NO 6 98.00 65.00 95.00 95.

30、00 65.00 83.60 NO 7 87.00 64.00 62.00 65.00 45.00 64.60 NO 8 65.00 64.00 96.00 64.00 65.00 70.80 NO 9 65.00 56.00 87.00 16.00 46.00 54.00 NO10 89.00 56.00 89.00 87.00 96.00 83.40课平均 70.50 69.80 74.70 61.30 62.90最高分 98.00是 5号学生的第2门课 方差 107.95第7章 编译预处理 7.4请设计输出实数的格式,包括:(1)一行输出一个实数;(2)一行输出两个实数;(3)一行输出三

31、个实数。实数用“6.2f”格式输出。解:#define PR printf#define NL n#define Fs %f#define F %6.2f#define F1 F NL#define F2 F t F NL#define F3 Ft FtF NLmain()float a,b,c;PR(请输入三个实数:n);scanf(Fs,&a);scanf(Fs,&b);scanf(Fs,&c);PR(NL);PR(每行输出一个数:n);PR(F1,a);PR(F1,b);PR(F1,c);PR(NL);PR(每行输出两个数:n);PR(F2,a,b);PR(F1,c);PR(NL);PR

32、(每行输出三个数:n);PR(F3,a,b,c);运行结果:请输入三个实数:3.4 5.6 7.8 每行输出一个数: 3.40 5.60 7.80每行输出两个数: 3.40 5.60 7.80每行输出三个数: 3.40 5.60 7.80第8章 指针 8.7请编一个函数fun,其中n所指存储单元中存放了数组中元素的个数。函数的功能是:删除所有值为y的元素。数组元素中的值和y的值由主函数通过健盘读入。解:#include #include #define M 20void fun (int bb, int *n,int y) int i,j=0;for( i=0; i*n; i+)if(bbi!

33、=y) bbj+=bbi;*n=j;main() int aaM,n,y,k;printf(请输入实际元素个数(不多于20个):);scanf(%d,&n);printf(n请输入%d个元素的值:n, n);for( k=0; kn; k+) scanf( %d,&aak);printf(原始数据为:n);for( k=0; kn; k+) printf( %5d, aak);printf( n请输入所要删除的数值:);scanf(%d,&y);fun(aa,&n,y);printf(删除之后的结果为:n);for(k=0; kn; k+) printf(%4d,aak);printf(n);

34、getch();运行结果:请输入实际元素个数(不多于20个):8 请输入8个元素的值:3 5 6 7 3 5 3 9 原始数据为: 3 5 6 7 3 5 3 9请输入所要删除的数值:3 删除之后的结果为: 5 6 7 5 98.11请编写函数fun,函数的功能是:求出1到1000之内能被7或11整除,但不能同时被7和11整除的所有整数,并将它们放在a所指的数组中,通过n返回这些数的个数。解:#include #include void fun(int *a,int *n) int i,m=0;for(i=1;i1000;i+)if(i%7=0)|(i%11=0)&!(i%7=0)&(i%11

35、=0)am=i;m+=1;*n=m; main() int aa1000,n,k;clrscr();fun(aa,&n);for(k=0;kn;k+)if(k+1)%10=0) printf(n);else printf(%4d,aak);getch();运行结果: 7 11 14 21 22 28 33 35 42 49 55 56 63 66 70 84 88 91 99 105 110 112 119 121 126 132 133 143 147 161 165 168 175 176 182 187 196 198 203 209 210 217 220 224 238 245 25

36、2 253 259 264 266 273 275 280 287 294 297 301 315 319 322 329 330 341 343 350 352 357 363 364 371 374 392 396 399 406 407 413 418 420 427 434 440 441 448 451 455 469 473 476 484 490 495 497 504 506 511 517 518 528 532 546 550 553 560 561 567 572 581 583 588 594 595 602 605 609 623 630 637 638 644 64

37、9 651 658 660 665 672 679 682 686 700 704 707 714 715 726 728 735 737 742 748 749 756 759 777 781 784 791 792 798 803 805 812 819 825 826 833 836 840 854 858 861 869 875 880 882 889 891 896 902 903 913 917 931 935 938 945 946 952 957 966 968 973 979 980 987 990 994 第9章 结构体、共用体和枚举类型 9.5已知学生的记录由学号和学习成

38、绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。解: #include #include #include #define N 10typedef struct ss char num10; int s; STU;void fun( STU a, STU *s) int k,i;(*s).s=a0.s;for(i=0;iN;i+)if (ai.s(*s).s)(*s).s=ai.s; k=i; strcpy ( (*s).num, ak.num);main() STU aN,m;int i;for(i

39、=0;iN;i+) printf(n第%d个学生的学好和分数:,i+1); scanf(%s %d,ai.num,&ai.s); printf(* 原始数据如下*n);for(i=0;iN;i+) printf(学号=%s 分数=%dn, ai.num,ai.s);fun( a,&m);printf(* 结果如下*n);printf( 最低分: %s ,%dn, m.num,m.s);getch();运行结果:第1个学生的学好和分数:0001 78 第2个学生的学好和分数:0003 65 第3个学生的学好和分数:0006 98 第4个学生的学好和分数:0002 57 第5个学生的学好和分数:0

40、004 99 第6个学生的学好和分数:0010 59 第7个学生的学好和分数:0012 73 第8个学生的学好和分数:0008 47 第9个学生的学好和分数:0028 96 第10个学生的学好和分数:0011 100 *原始数据如下*学号=0001分数=78学号=0003分数=65学号=0006分数=98学号=0002分数=57学号=0004分数=99学号=0010分数=59学号=0012分数=73学号=0008分数=47学号=0028分数=96学号=0011分数=100*结果如下*最低分: 0008 ,479.11有5支颜色不同的彩色铅笔,现在要从中按不同顺序选出3支,问总共有多少种取法?(

41、要求在程序中用枚举类型。)解:# include main() /* 经过下面的定义后,默认有:blue=0 red=1 . black=4 */ enum color blue, red, yellow, orange, black; enum color i, j, k, pri; int n, loop; n = 0; for(i=blue; i=black; i+) for(j=blue; j=black; j+) if(i!=j) for(k=blue; k=black; k+) if(k!=i)&(k!=j) n+; printf(%-6d, n); for(loop=1; loo

42、p=3; loop+) switch(loop) case 1: pri = i;break; case 2: pri = j;break; case 3: pri = k;break; default: break; switch(pri) case blue: printf(%-10s, blue);break; case red: printf(%-10s, red);break; case yellow: printf(%-10s, yellow);break; case orange: printf(%-10s, orange);break; case black: printf(%

43、-10s, black);break; default: break; printf(n); printf(total: %5dn, n); 运行结果:1 blue red yellow2 blue red orange3 blue red black4 blue yellow red5 blue yellow orange6 blue yellow black7 blue orange red8 blue orange yellow9 blue orange black10 blue black red11 blue black yellow12 blue black orange13 re

44、d blue yellow14 red blue orange15 red blue black16 red yellow blue17 red yellow orange18 red yellow black19 red orange blue20 red orange yellow21 red orange black22 red black blue23 red black yellow24 red black orange25 yellow blue red26 yellow blue orange27 yellow blue black28 yellow red blue29 yel

45、low red orange30 yellow red black31 yellow orange blue32 yellow orange red33 yellow orange black34 yellow black blue35 yellow black red36 yellow black orange37 orange blue red38 orange blue yellow39 orange blue black40 orange red blue41 orange red yellow42 orange red black43 orange yellow blue44 ora

46、nge yellow red45 orange yellow black46 orange black blue47 orange black red48 orange black yellow49 black blue red50 black blue yellow51 black blue orange52 black red blue53 black red yellow54 black red orange55 black yellow blue56 black yellow red57 black yellow orange58 black orange blue59 black o

47、range red60 black orange yellowtotal: 60第10章 位运算 10.5编写一个函数用来实现左右循环移位。函数名为move,调用方法为:move(value,n)其中value为要循环移位的数,n为移位的位数,n0为左移。解:move(unsigned value,int n)unsigned z;if(n0)z=(valuen)|(value(16-n);printf(向右循环%d位的结果为:%o,n,z);if(n(16-n)|(valuen);printf(向左循环%d位的结果为:%o,n,z);main()unsigned a;int n;printf

48、(请输入一个八进制整数:);scanf(%o,&a);printf(请输入要移位的位数:);scanf(%d,&n);move(a,n);运行结果:请输入一个八进制整数:135672 请输入要移位的位数:6 向右循环6位的结果为:165356请输入一个八进制整数:152525 请输入要移位的位数:-4 向左循环4位的结果为:52535第11章 文件 11.3从键盘输入两个学生数据(包括姓名、学号、年龄、住址),写入一个文件中,然后从文件中读出这两个学生的数据并在屏幕上输出。解:#includestruct stuchar name10;int num;int age;char addr15;stua2,stub2,*pp,*qq;main()FILE *fp;char ch;int i;pp=stua;qq=stub;if(fp=fopen(stu_list,wb+)=NULL)printf(Cannot open file strike any key exit!);getch();exit(1);printf(ninput datan);for(i=0;

温馨提示

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

评论

0/150

提交评论