《2022年第六章循环结构程序设计 .pdf》由会员分享,可在线阅读,更多相关《2022年第六章循环结构程序设计 .pdf(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第六章循环结构程序设计学号姓名班级成绩A B C 学习目的与要求:1、领会程序设计中构成循环的三要素;2 、掌握 for 、 while 、 do-while 语句的用法;3 、了解 break 、 continue 在循环语句中的作用;重点:for 、 while 、 do-while 语句的用法;第 1 讲知识归纳:1、while 语句:while ( 条件 ) 语句 / 如果不加花括弧,while 语句的范围只有一个语句; (1) 循环三要素:循环变量初值、循环条件、循环趋于结束语句;(2) 在循环体中应有使循环趋向于结束的语句;2、dowhile 语句:do 语句 / 如果不加花括弧,
2、dowhile语句的范围只有一个语句; while ( 条件 ) 。(1) 循环三要素:循环变量初值、循环条件、循环趋于结束语句;(2) 注意: dowhile 循环与 while 循环的区别;基础练习 (A) 一、选择题1、C 语言中 while 和 do-while 循环的主要区别是()。A) do-while的循环体至少无条件执行一次B) while 的循环控制条件比do-while 的循环控制条件严格C) C)do-while允许从外部转到循环体内D) do-while的循环体不能是复合语句2、以下描述中正确的是()。A) 由于 do-while循环中循环体语句只能是一条可执行语句,所
3、以循环体内不能使用复合语句B) B)do-while循环由 do 开始,用while 结束,在while(表达式)后面不能写分号C) 在 do-while循环体中,一定要有能使while 后面表达式的值变为零(“假”)的操作C) C)do-while循环中,根据情况可以省略while 3、设有程序段int k=10 。while(k) k=k-1。则下面描述中正确的是()。A)while 循环执行10 次B)循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次4、下列循环语句中有语法错误的是()。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - -
4、-第 1 页,共 18 页A) while(x=y) 5; B) while(0) ;C) do 2 ;while(x=b) ; D) do x+ while(x=10) ;5、已知 int i=1 ;执行语句while (i+4) ;后,变量i 的值为()。A) 3 B) 4 C) 5 D) 6 6、语句 while(!E) 。中的表达式 !E 等价于()。A)E=0 B)E!=1 C)E!=0 D) E=1 7、下面程序段的运行结果是()。a=1 。 b=2 。 c=2 。while(abc) t=a。 a=b 。 b=t。 c- 。 printf(“%d,%d,%d ”,a,b,c)。A
5、)1,2,0 B)2,1,0 C)1,2,1 D)2,1,1 8、下面程序的运行结果是()。#include main() int num=0 。while(num=2) num+ 。printf(“%dn”,num) 。 A)1 B)1 C)1 D)1 2 2 2 3 3 9、以下能正确计算123 10 的程序段是()。 A)doi=1 。 s=1 。B)doi=1 。 s=0 。s=s*i 。 s=s*i 。 i+。 i+。 while(i=10) 。 while(i=10) 。C)i=1。 s=1 。 D ) i=1 。s=0 。 dos=s*i 。 dos=s*i 。 i+。 i+。
6、while(i=10) 。 while(i=10) 。10、下面程序的运行结果是()。#include main() int y=10 。do y- 。 while(-y) 。printf(“%dn”,y -)。 A)-1 B)1 C)8 D)0 11、已知 int i=1,j=0 ;执行下面语句后j 的值是()。while(i) switch(i) case 1: i+=1; j+;break ;case 2: i+=2 ; j+;break ;case 3: i+=3 ; j+;break ;default: i- ;j+ ;break ; A) 1 B) 2 C) 3 D) 死循环精选学
7、习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 18 页12 、 若 运 行 以 下 程 序 时 , 从 键 盘 输 入2473 , 则 下 面 程 序 的 运 行 结 果 是()。#include main() int c 。while(c=getchar()!=n) switch(c- 2) case 0: case 1: putchar(c+4)。case 2: putchar(c+4)。 break 。 case 3: putchar(c+3)。default: putchar(c+2)。 break 。 printf(“n”)。 A
8、)668977 B)668966 C)66778777 D)6688766 二、填空题1、执行下面程序段后,k 值是。k=1 。 n=263 。do k*=n%10 。 n/=10 。 while(n) 。2、下面程序的运行结果是。#include main() int a,s,n,count 。a=2。 s=0 。 n=1 。 count=1 。while(count=7) n=n*a。 s=s+n 。 +count 。 printf(“s=%d ”,s)。 3、下面程序段的运行结果是。x=2 。do printf(“*”)。 x- 。 while(!x=0) 。4、当运行以下程序时,从键盘
9、键入China# ( 代表回车),则下面程序的运行结果是。#include main() int v1=0,v2=0 。 char ch 。while(ch=getchar()!=#)switch(ch) casea:caseh:default: v1+ 。caseo: v2+。 printf(“%d,%dn”,v1,v2) 。 三、编程:1、编程求1*3*5*7*9 的值精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 18 页2、编写程序计算下列算式的值:直到某一项A=0.000001时为止。输出最后的值。3、从键盘输入的字符中统计数
10、字字符的个数,用换行符结束循环。能力提高 (B) 一、选择填空题1、下面程序的功能是将从键盘输入的一组字符中统计出大写字母的个数m 和小写字母的个数 n,并输出m、n 中的较大者,请选择填空。#include main() int m=0,n=0 。char c 。while()!= n) if(c= A&c= a&c= z)n+ 。 printf(“%dn”,mn?) 。 (1) A )c=getchar() B)getchar() C)scanf( “%c ”,c)(2) A )n:m B)m:n C)m:m D) n:n 2、下面程序的功能是在输入的一批正整数中求出最大者,输入0 结束循
11、环,请选择填空。#include main() int a,max=0 。scanf( “%d ”,&a)。while() if(maxa) max=a。scanf( “%d ”,&a)。 printf(“%d ”,max)。 A)a=0 B)a C)!a=1 D)!a 3、下面程序的功能是计算正整数2345 的各位数字平方和,请选择填空。#include main() int n,sum=0 。n=2345 。do sum=sum+ 。n=。while(n) 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 18 页printf(“s
12、um=%d ”,sum)。 (1) A )n%10 B)(n%10)*(n%10) C)n/10 D)(n/10)*(n/10) (2) A )n/1000 B)n/100 C)n/10 D)n%10 二、读懂程序,并按照程序的功能将程序补充完整1、下面程序的功能是用“辗转想除法”求两个正整数的最大公约数。请填空。#include main() int r,m,n 。scanf( “%d %d ”,&m,&n) 。if(mn) 。r=m%n 。while(r) m=n 。 n=r 。 r=。 printf(“%dn”,n) 。 2、下面程序的功能是用do-while 语句求 1 至 1000
13、之间满足“用3 除余 2;用 5 除余 3;用 7 除余 2”的数,且一行只打印五个数。请填空。#include main() int i=1,j=0 。do if() printf(“%4d ”,i)。j=j+1 。if() printf(“n”)。 i=i+1 。while(i1000) 。 3、等差数列的第一项a=2 ,公差 d=3,下面程序的功能是在前n 项和中,输出能被4 整除的所有的和。请填空。#include main() int a,d,sum 。a=2。 d=3 。 sum=0 。do sum+=a 。;if() printf( “%d n”,sum) 。while(sum2
14、00)。 三、编程:1、从键盘输入任意的字符,按下列规则进行分类计数。第一类 0,1,2,3,4,5,6, 7,8,9 第二类 +,-,*,/,%,= 第三类其它字符当输入字符 时先计数,然后停止接收输入,打印计数的结果。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 18 页2、求解爱因斯坦数学题。有一条长阶梯,若每步跨2 阶,则最后剩余1 阶,若每步跨3阶,则最后剩2 阶,若每步跨5 阶,则最后剩4 阶,若每步跨6 阶则最后剩5 阶,若每步跨 7 阶,最后才正好一阶不剩。请问,这条阶梯共有多少阶? 分析:据题意,阶梯数满足下面一组同
15、余式:x mod 2=1 x mod 3=2 x mod 5=4 x mod 6=5 x mod 7=0 3、从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。第 2 讲知识归纳:1、for 语句:for 循环的一般形式: for ( 表达式 1。 表达式 2。 表达式 3 ) 语句 (1) for 语句中三个表达式,对应循环中的三要素;表达式 1- 循环变量的初值;表达式 2- 循环的条件;表达式 3- 循环趋于结束语句;(2) for 语句中的三个表达式,可以变换位置,但功能不变;如: 表达式 1。for ( 。 表达式 2。 表达式 3 ) 语句 for (
16、 表达式 1。 表达式 2。 ) 表达式 3 ;语句 for ( 表达式 1。 。 表达式 3 ) if ! ( 表达式 2) break 。语句 表达式 1 。for ( 。 表达式 2。 ) 表达式 3 ;语句 2、循环的嵌套(1) 三种循环可以互相嵌套;3、break 和 continue (1) break 语句作用:强行终止循环,转到循环体下面语句去执行;(2) continue 语句作用:结束本次循环,再去判断条件,根据条件决定循环是否继续执行;二者区别: continue 只是结束本次循环,而不是终止整个循环的执行;break 则是结束整个循环过程,不再判断执行循环的条件是否成立
17、;另: continue 只能用于循环体中;精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 18 页而 break 即可用于循环体中,还可用于switch 语句中;基础练习 (A) 一、 一、选择题1、下面有关for 循环的正确描述是()。A)A)for 循环只能用于循环次数已经确定的情况B)B)for 循环是先执行循环体语句,后判断表达式C)C)在 for 循环中,不能用break 语句跳出循环体D)D)for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来2、对 for(表达式 1。表达式3)可理解为()。A) A)fo
18、r( 表达式 1。0。表达式 3) B) B)for( 表达式 1。1。表达式 3) C)for(表达式 1。 表达式 1。表达式3) D)for(表达式 1。 表达式 3。表达式3) 3、下列说法中正确的是()。A) break 用在 switch 语句中,而continue 用在循环语句中。B) break 用在循环语句中,而continue 用在 switch 语句中。C) break 能结束循环,而continue 只能结束本次循环。D) continue能结束循环,而break 只能结束本次循环。4、以下正确的描述是()。A)A)continue语句的作用是结束整个循环的执行B)B)
19、只能在循环体内和switch 语句体内使用break 语句C)C)在循环体内使用break 语句或 continue 语句的作用相同D)D)从多层循环嵌套中退出时,只能使用goto 语句5、若 i 为整型变量,则以下循环执行次数是()。for(i=2 。i=0 。) printf(“%d ”,i-)。A)无限次B)0 次 C)1 次 D)2 次6、以下 for 循环的执行次数是()。for(x=0,y=0 。 (y=123)&(x+y 。x=i+) i=x B)B)for( 。 x+=i) 。C)C)while(1) x+。 D)D)for(i=10 。 i-) sum+=i 。8、执行语句f
20、or(i=1 。i+4 。)。后变量i 的值是()。A)3 B)4 C)5 D)不定9、下面程序段()。for(t=1 。t=100 。t+) scanf( “%d ”,&x)。if(x0) continue。printf(“%3d ”,t)。 A)当 x=0 时什么也不输出C)printf 函数永远也不执行D)最多允许输出100 个非负整数10、下面程序段()。x=3。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 18 页do y=x- 。if(!y) printf(“x”)。 continue 。 printf(“#”)。whil
21、e(1=x=2)。A)将输出 # B)将输出 #* C)是死循环D)含有不合法的控制表达式二、写出下列程序的运行结果1、 #include main() int i。for(i=1 。i=5 。i+) if(i%2) printf(“*”)。else continue 。printf(“#”)。 printf(“$n”)。 2、 #include main() int i,j 。for(i=4 。i=1 。i-) for(j=1 。j=i 。 j+) putchar(#)。for(j=1 。j=4-i 。 j+) putchar(*)。putcha r( n)。 3、 #include mai
22、n() int i,k=0 。for(i=1 。 i+) k+。while(ki*i) k+。if(k%3=0) goto loop。 loop: printf(“%d,%d ”,i,k)。 三、编程:1、求 1-3+5-7+ -99+101 的值。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 18 页能力提高 (B) 一、写出下列程序的运行结果1、 #include main() int i,j,x=0 。for(i=0 。i2。i+) x+。for(j=0 。j=3 。j+) if(j%2) continue。x+。 x+。 pr
23、intf(“x=%dn”,x) 。 2、 #include main() int i,j,k=19 。while(i=k-1) k-=3 。if(k%5=0) i+。 continue 。 else if(k5) break。i+ 。 printf(“i=%d,k=%dn”,i,k) 。 二、根据程序的功能将程序补充完整下面程序的功能是求1 至 1000 之间满足“用3 除余 2;用 5 除余 3;用 7 除余 2”的数,且一行只打印5 个数。#include main() int i,j=0 。for( ) if(i%3=2& i%5=3 & i%7= =2) printf(“%4d ”,i
24、)。j=j+1 。if() printf(“n”)。 三、编程:1、有一分数序列 2/1,3/2,5/3, 8/5,13/8, 21/13 , 求出这个数列的前20 项之和2、从键盘输入的10 个整数中,找出第一个能被7 整除的数。若找到,打印此数后退出循环;若未找到,打印“not exist ”。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 18 页第 3 讲总复习,增强用循环解决实际问题的能力;基础练习 (A) 一、 一、编程:1、每个苹果0.8 元,第一天买2 个苹果,第二天开始,每天买前一天的2 倍,直至购买的苹果个数达到不超
25、过100 的最大值。编写程序求每天平均花多少钱?1、2、编写程序,输出用一元人民币兑换成1 分、 2 分和 5 分硬币的不同兑换方法。3、输入 n 值,输出如图所示高为n 的等腰三角形。* * * * * * 能力提高 (B) 1、编写程序,从键盘输入6 名学生的5 门成绩,分别统计出每个学生的平均成绩。2、猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾 ,又多吃了一个.第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半零一个 .到第 10 天早上再想吃时,只剩下一个桃子了.求第一天一共摘了多少桃子. 链接二级考试一、选择题1、以下程序的输出结果
26、是()。A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 1 main( ) int x=10 ,y=10 ,I;for(i=0 ;x8;y=+i) printf(%d ,%d ,x-,y); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 18 页2、以下程序的输出结果是()。A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 0 main( ) int n=4 ;while(n-)printf(%d ,-n); 3、以下程序的输出结果是()。A) #*#*# B) # C) * D
27、) *#*#* main( ) int i ;for(i=1 ;i6;i+) if(i%2)printf(#); continue ; printf(*) ; printf(n) ; 4、以下程序的输出结果是()。A) 编译不通过,无输出 B) aceg C) acegi D) abcdefghi main( ) int i ;for(i=A ;iI ;i+ ,i+) printf(%c , i+32) ;printf( n) ; 5、以下循环体的执行次数是()。A) 3 B) 2 C) 1 D) 0 main() int i,j 。for(i=0,j=1 。 i20) break 。 whi
28、le(a=14) 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 18 页8、有如下程序main0 int i,sum 。for(i=1 。i6)n-。printf(“%d ”,n)。 该程序段的输出结果是()。A) 987 B) 876 C) 8765 D) 9876 11、有以下程序段int k=0 while(k=1)k+。while 循环执行的次数是()。A) 无限次 B) 有语法错,不能执行C) 一次也不执行 D) 执行 1 次12、有以下程序段int x=3 do printf(“%d ”,x-=2) 。 while (
29、!(-x) 。其输出结果是()。A) 1 B) 3 0 C) 1 -2 D) 死循环13、t 为 int 类型,进人下面的循环之前,t 的值为 0 while( t=l ) 则以下叙述中正确的是()。A) 循环控制表达式的值为0 B)循环控制表达式的值为1 C) 循环控制表达式不合法D)以上说法都不对14、以下程序的输出结果是()。main() int num= 0 。while(num=2) num+ 。 printf(“%dn”,num) 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 18 页 A) 1 B) 1 C)1 D)
30、 l 2 2 2 3 3 4 15、以下程序的输出结果是()。main() int a, b 。for(a=1, b=1 。 a=10) break。if (b%3= =1) b+=3 。 continue 。 printf(“%dn”,a) 。 A) 101 B) 6 C) 5 D) 4 16、以下程序中,while 循环的循环次数是()。main() int i=0 。while(i10) if(i1) continue。if(i=5) break 。i+ 。 . A) 1 B) 10 C) 6 D) 死循环,不能确定17、以下程序的输出结果是()。main() int a=0,i 。fo
31、r(i= 。i5 。i+) switch(i) case 0: case 3:a+=2 。case 1: case 2:a+=3 。default:a+=5 。 printf(%dn,a)。 A) 31 B) 13 C) 10 D) 20 18、以下程序的输出结果是()。#include main() int i=0,a=0 。while(i20) for( 。 ) if(i%10)=0) break。else i-。 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 13 页,共 18 页i+=11 。 a+=i 。 printh(%dn,a)。
32、A) 21 B) 32 C) 33 D) 11 19、以下程序的功能是:按顺序读入10 名学生4 门课程的成绩,计算出每位学生的平均分并输出,程序如下:main() int n,k 。float score ,sum,ave。sum=0.0 。for(n=1 。n=10 。n+) for(k=1 。 k=4 。k+) scanf(“%f”,&score)。 sum+=score 。 ave=sum/4.0 。printf(“NO%d:%fn”,n,ave) 。 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是()。A) sum=0.0 。B) sum+=sco
33、re。C) ave=sun/4.0 。D) printf(“NO%d:%fn”,n,ave) 。20、有以下程序段int n=0,p 。doscanf(“%d ”,&p)。n+ 。 while(p!=12345& n3)。此处 dowhile 循环的结束条件是()。A) P 的值不等于12345 并且 n 的值小于3 B) P 的值等于12345 并且 n 的值大于等于3 C) P 的值不等于12345 或者 n 的值小于3 D) P 的值等于12345 或者 n 的值大于等于3 21、有以下程序main() int i。for(i=0 。i3。i+) switch(i) case 1: pr
34、intf(%d,i) 。case 2: printf(%d,i) 。default: printf(%d,i) 。 执行后输出结果是()。A) 011122 B) 012 C) 012020 D) 120 22、有以下程序main() int i=0,s=0 。do if(i%2)i+ 。 continue 。 i+ 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 18 页s +=i 。while(i7) 。printf(%dn,s)。 执行后输出结果是()。A) 16 B) 12 C) 28 D) 21 23、有以下程序main
35、() int s=0,a=1,n 。scanf(%d,&n)。do s+=1 。 a=a-2 。 while(a!=n) 。printf(%dn,s)。 若要使程序的输出值为2,则应该从键盘给n 输入的值是()。A) -1 B) -3 C)-5 D) 0 24、若有如下程序段,其中s、a、b、c 均已定义为整型变量,且a、c 均已赋值 (c 大于 0) s=a。for(b=1 。b=c 。b+) s=s+1 。则与上述程序段功能等价的赋值语句是()。A) s=a+b 。 B) s=a+c 。 C) s=s+c 。 D) s=b+c 。25、有以下程序main() int k=4,n=4 。fo
36、r( 。 n1 。 n-) s=s+1/n 。print(%6.4fn,s)。 程序运行后输出结果错误,导致错误结果的程序行是()。A) s=1.0 。B) for(n=10 。n1。n-) C) s=s+1/n 。D) printf(%6.4f/n,s)。二、填空题1、下面程序的功能是:计算 1 到 10 之间奇数之和及偶数之和,请填空。#include main() int a, b, c, i 。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 18 页a=c=0 。for(i=0 。i10 。i+=2) a+=i 。_ 。c+=
37、b 。 printf( 偶数之和 =%dn,a) 。printf( 奇数之和 =%dn,c-11) 。 (2000 年 4 月)2、下面程序的功能是:输出 100 以内能被3 整除且个位数为6 的所有整数 ,请填空。#include main() int i, j 。for(i=0 。 1 。 i+) j=i*10+6 。if( 2 ) continue。printf(%d,j) 。 3、要使以下程序段输出10 个整数,请填入一个整数。for(i=0 。i= _ 。printf(“%dn”,i+=2) 。4、函数 pi 的功能是根据以下近似公式求值:(*)/6=1+1/(2*2)+1/(3*3
38、)+.+1/(n*n) 现在请你在下面的函数中填空,完成求 的功能。#include “math.h ”double pi(long n) double s=0.0。 long i 。for(i=1 。 i=n。i+)s=s+_ 。return(sqrt(6*s)。 5、若输入字符串:abcde,则以下 while 循环体将执行_ 次。While(ch=getchar()=e)printf(“*”)。6、以下程序运行后的输出结果是_ 。main() int i=10, j=0 。do j=j+i 。 i-。 while(i2) 。printf(“%dn”,j)。 7、设有以下程序: main(
39、) int n1,n2 。scanf( “%d ”,&n2)。while(n2!=0) n1=n2%10 。n2=n2/10 。printf(“%d ”,n1)。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 18 页 程序运行后,如果从键盘上输入1298 ;则输出结果为_ 。8、以下函数的功能是:求x 的 y 次方,请填空。double fun( double x, int y) int i 。double z 。for(i=1, z=x 。 iy。 i+) z=z*_。return z 。 9、以下程序的输出结果是_ 。main(
40、) int s,i 。for(s=0,i=1 。i10& x50) x+ 。if(x/3)x+ 。break 。 else continue 。 printf(“%dn”,x) 。 11、有以下程序:#include main() char c 。while(c=getchar( )!=?)putchar(-c)。 程序运行时,如果从键盘输入:Y?N? ,则输出结果为。12、以下函数的功能是计算s=1+!21+! 31+ +!1n,请填空。double fun(int n) double s=0.0,fac=1.0。 int i 。for(i=1,i=n 。i+) fac=fac+ _ 。s=
41、s+fac 。 return s 。 13、以下程序运行后的输出结果是。main() int i,m=0, n=0, k=0。for (i=9 。 i=11 。 i+) switch(i/10) case 0 : m+。 n+。 break 。case 10: n+ 。break 。default: k+ 。n+ 。 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 18 页printf(%d %d %dn,m,n,k)。 14、执行以下程序后,输出#号的个数是。#include main() int i,j 。for(i=1 。 i5 。 i+) for(j=2 。 j=i 。 j+) putchar(#)。 15、以下程序的功能是调用函数fun 计算: m=1-2+3- 4+9 -10, 并输出结果。请填空。int fun(int n) int n=0,f=1, i 。for (i=1 。 i=n 。 i+) m+=i*f 。f= _ ; return m 。 main() printf(m=%dn, _ )。 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 18 页
限制150内