收藏 分享(赏)

循环习题课.ppt

上传人:fmgc7290 文档编号:10011964 上传时间:2019-09-27 格式:PPT 页数:79 大小:694KB
下载 相关 举报
循环习题课.ppt_第1页
第1页 / 共79页
循环习题课.ppt_第2页
第2页 / 共79页
循环习题课.ppt_第3页
第3页 / 共79页
循环习题课.ppt_第4页
第4页 / 共79页
循环习题课.ppt_第5页
第5页 / 共79页
点击查看更多>>
资源描述

1、2019/9/27,1,习题课,循环程序设计应用遍历 递推 迭代,2,2019/9/27,例6.1 求出两个正整数组成的闭区间中的所有偶数。 例6.2 有一个数,用3除余2,用5除余3,用7除余2,请找出满足条件的最小数。 例6.3 判断某整数是否为素数。 例6.4 求输入的十个数据的平均值及其中正数的个数。 例6.5 输入一个整数,计算位数并逆序输出. 如输入1234567则输出7654321. 例6.6 找出101000之间各位数字之和能被5整除的所有数。 例6.7 编写求 20+21+22+23+263 的程序 。 例6.8 求Fibonaci数列的前20个数. 例6.9 用牛顿迭代公式

2、 xn+1=(xn+a/xn)/2 ,求某数a的平方根的近似值,满足条件|xn+1-xn|10-6,3,2019/9/27,例6.10 输出九九乘法表。,1 2 3 4 5 7 8 92 4 6 8 10 14 16 18 3 6 9 12 15 21 24 278 16 24 32 40 56 64 729 18 27 36 45 63 72 81,例6.11 输出如上图形。 例6.12 鸡兔同笼问题。共有头46个,脚120只,问鸡、兔各多少只。 例6.13 百钱百鸡。“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱百鸡,各几何?” 例6.14 输入一个自然数,要求输出其所有质因子。如

3、: 24=1*2*2*2*3 例6.15 简单的猜数游戏。,* * * * * * * * * * * * * * * * * * * * *,4,2019/9/27,例6.16 输入30个09的字符数字,计算数字串中有多少个奇数,偶数和零 . 例6.17 统计选票。 例6.18 梯形法求数值积分。 例6.19 用/4 1-1/3+1/5-1/7+的公式求 的近似值,直到最后一项的绝对值小于10-6为止 例6.20 求 s=1-1/2+1/3-1/4+ +1/99-1/100 例6.21 一元人民币兑换成1分、2分、5分共有多少种方法? 例6.22 输入一行字符,按字母,数字和其他字符分成三类

4、,分别统计各类字符的数目(换行字符n不统计在内)。,5,2019/9/27,例6.23 汽车里程表上的读数是95859,7小时之后里程表的读数是一个对称数(最大是5位数),问汽车的速度(是一个整数)。,6,2019/9/27,例6.1 求出两个正整数组成的闭区间中的所有偶数.,分析 已知两正整数m和n (设mn,则交换m和n的值 3.for k=m , k=n, k+若k%20, 则输出k,7,2019/9/27,算法及程序实现,main( ) int m,n,k;printf(“nInput m and n:“);scanf(“%d%d“, ,8,2019/9/27,例6.2 有一个数,用3

5、除余2,用5除余3,用7除余2,请找出满足条件的最小数。,分析: 用3除余2:m%3=2 用5除余3:m%5=3用7除余2:m%7=2 采用遍历(枚举)的方法,使m从1开始逐步递增,并逐个判断,若条件同时成立,则相应的m即为所求的数. 步骤 1m=1 2while(1)若m%3=2&m%5=3&m%7=2成立,退出循环m+ 3输出m,9,2019/9/27,main() int m;m=1;while(1) /* 循环条件恒成立 */ if(m%3=2 ,for(m=1; m%3!=2 | m%5!=3 | m%7!=2; m+) ;,10,2019/9/27,例6.3 判断某整数是否为素数。

6、,分析 素数:只能被1和自身整除的自然整数。 可以先假设某数m是素数(flag=1) 然后据实际情况修改假设,采用遍历的方法,依次判断从2到m-1中是否有数能整除m,若有则修改假设,即flag=0 然后据flag输出最后的判断,步骤 1. 输入m 2. flag=1 3. for i=2, im, i+若 m%i=0则flag=0 4. 若flag=1则输出“YES”;否则输出“NO”,11,2019/9/27,算法描述,步骤 1. 输入m 2. flag=1 3. for i=2, im, i+若 m%i=0则flag=0 4. 若flag=1则输出“YES”;否则输出“NO”,12,201

7、9/9/27,程序实现,main() int m,i,flag;printf(“nInput a int number:“);scanf(“%d“, ,13,2019/9/27,程序改进,main() int m,i,flag;printf(“nInput a int number:“);scanf(“%d“, ,for(i=2;im;i+)if(m%i=0) flag=0; break; ,for(i=2;im,flag flag=1 0 0 1 1,flag,14,2019/9/27,例6.4 求输入的十个数据的平均值及其中正数的个数。,分析: 利用循环 步骤 1. sum=0 2. n=

8、0 3. for i=1, i0则n+ 4. 输出sum/10及n,main() int i,n=0;float sum=0,x;for(i=1;i0) n+;printf(“nsum=%f“,sum/10);printf(“nn=%d“,n); ,15,2019/9/27,例6.5 输入一个整数,计算位数并逆序输出. 如输入1234567则输出7654321.,分析 1.设有数old=123 1.可以采用对10求余数的方法分离出个位123%10=3 n 3.可以采用整除10的方法将数据降位123/10=12 old 4.每降一位的同时计一次位数 5.反向构成新数new=10*new+n 6.

9、循环条件 old0,步骤 1.输入old 2.反向数new=0 3.位数count=0 4.当old0时,重复分离个位n=old%10位数递增count+构成新数new=10*new+n数据降位old=old/10 5.输出位数count 6.输出反向数new,16,2019/9/27,算法描述,步骤 1.输入old 2.反向数new=0 3.位数count=0 4.当old0时,重复分离个位n=old%10位数递增count+构成新数new=10*new+n数据降位old=old/10 5.输出位数count 6.输出反向数new,17,2019/9/27,程序实现,main() int c

10、ount=0,n;long old,new=0L;printf(“nInput a number:“);scanf(“%ld“,old);while(old!=0) n=old%10;count+;new=10*new+n; old/=10;printf(“ncount=%d“,count);printf(“new=%ld“,new); ,18,2019/9/27,例6.6 找出101000之间各个位数字之和能被5整除的所有数。,分析:for m=10,1000, 1 1. 求m的各位数字累加和s2. 若s%50 ,则输出m 算法细化: 1: 1.1累加和初值s=01.2 拆分m的各位数字累加

11、到s中,拆数方法:k=m%10(s=s+k)m=m/10, 即可详细描述为 若m0,重复k=m%10, s+=k, m/=10,19,2019/9/27,算法描述及修正,for m=10,1000, 1s=0若m0,重复k=m%10, s+=k, m/=10若s%50 ,则输出m,修正为: for m=10,1000, 1s=0 , n=m若n0,重复k=n%10, s+=k, n/=10若s%50 ,则输出m,此循环结束时,m的值,?,20,2019/9/27,程序实现,main( ) int m, n, k, s;for(m=10; m=1000; m+) s=0; n=m; while(

12、n!=0) k=n%10; s=s+k; n/=10;printf(“n“); if (s%5=0) printf(“%5d“,i); ,?,如何实现每行只输出10个数据?,int i=0; i+; if(i %10=0) printf(“n“); ,21,2019/9/27,例6.7 编写求 20+21+22+23+263 的程序 。,分析:1. 循环累加,用 s=s+t,2. 每项可递推计算, t=t*23. 若初值 s=1,t=1,累加项数为63项 步骤:1. s=1, t=12. for i=1, 63, 1s=s+tt=t*23. 输出s,main( ) int i;float s=

13、1,t=1;for (i=1;i=63;i+) s+=t; t*=2; printf(“s=%fn“,s); ,22,2019/9/27,例6.8 求Fibonaci数列的前20个数.,分析:1 1 2 3 5 8 13a+bab+aba + b ab + a b 算法(或步骤): 1.a=1, b=1 2. for(i=1;i=10;i+)输出a和ba=a+bb=a+b,main() int i,a,b,;a=b=1;for(i=1;i=10;i+) printf(“%10d%10d“,a,b);a=a+b; b=a+b;if(i%2=0) printf(“n“);,23,2019/9/27

14、,例6.9 用牛顿迭代公式 xn+1=(xn+a/xn)/2 ,求某数a的平方根的近似值,满足条件|xn+1-xn|10-6,分析: 可设初始值为x0=a 迭代求x1=(x+a/x0)/2 让x0获取x1的值,再次迭代求新的x1 重复上述过程, 直到|x1-x0|10-6为止,步骤 1. 输入a 2. x1=a 3. 重复 x0=x1 x1=(x+a/x0)/2 若|x1-x0|10-6,转3 4. 输出x1,24,2019/9/27,算法描述,步骤 1. 输入a 2. x1=a 3. 重复 x0=x1 x1=(x+a/x0)/2 若|x1-x0|10-6,转3 4. 输出x1,25,2019

15、/9/27,程序实现,#define EPS 1e-6 #include main() float a,x0,x1;printf(“nInput a:“);scanf(“%f“, ,26,2019/9/27,例6.10 输出九九乘法表。,分析: 共有9行9列,每个值=行号*列号 所有输出可以用循环实现:for i=1 ,9,1 在新行输出第i行 输出第i行for j=1,9,1 输出i*j,1 2 3 4 5 7 8 9 2 4 6 8 10 14 16 18 3 6 9 12 15 21 24 27 8 16 24 32 40 56 64 72 9 18 27 36 45 63 72 81,

16、27,2019/9/27,程序实现,main() int i,j;for(i=1;i10;i+) printf(“n“);for(j=1;j10;j+)printf(“%4d“,i*j); ,考虑若输出形式为: 1 2 4 3 6 9 8 16 24 32 40 56 64 9 18 27 36 45 63 72 81 可见第i行输出i个值,28,2019/9/27,例6.11 输出如右图形。,main( ) int i,j;for (i=1;i=5;i+) printf(“n“); for (j=1;ji;j+)printf(“ “);for (j=1;j=5;j+)printf(“*“);

17、 ,* * * * * * * * * * * * * * * * * * * * *,更多图形,29,2019/9/27,1,4,3,2,for(i=1;i=5;i+) printf(“n“);for(j=1;j=5;j+)printf(“ * “); ,for(i=1;i=5;i+) printf(“n“);for(j=1;j=i;j+) printf(“ * “); ,for(i=1;i=5;i+) printf(“n“);for(j=1;j=5-i+1;j+)printf(“ * “); ,for(i=1;i=5;i+) printf(“n“);for(j=1;ji;j+)printf

18、(“ “);for(j=1;j=5-i+1;j+)printf(“ * “); ,for(i=1;i=5;i+) printf(“n“);for(j=1;j5-i+1;j+)printf(“ “);for(j=1;j=i;j+)printf(“ * “); ,30,2019/9/27,* * * * * * * * *,分析: 1. 行的控制 i:192. *的个数j与当前行的关系:j=2*i-13. *前面的空格k与行的关系:开始时,第一行有8个空格每多一行,少一个空格k=9-i 4. while (i=9) for (k=1;k=9-i;k+)输出空格;for (j=1;j=2*i-1;j

19、+)输出*; ,31,2019/9/27,main() int i,j,k; i=1; while (i=9) for(k=1;k=9-i;k+) printf(“ ”); for(j=1;j=2*i-1;j+)printf(“*”);printf(“n”);i+; ,32,2019/9/27,例 编程输出下面的数字金字塔(1到9)。,1 121 12321 .12345678987654321i控制行: i 19 空格数: 9-ij控制列: 第i行 左边: 1i 右边: i-11,33,2019/9/27,main( ) int i,j,k,m;for (i=1;i0;j-) /*输出i-1

20、到1*/printf(“%d”, j);printf(“n”); ,34,2019/9/27,例6.12 鸡兔同笼问题。共有头46个,脚120只,问鸡、兔各多少只。,35,2019/9/27,例6.13 百钱百鸡。“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱百鸡,各几何?”,main() int x,y,z;for (x=1; x=20; x+)for (y=1; y=33; y+)if (x*5+y*3+(100-x-y)/3.0)=100) printf(“x=%d,y=%d,z=%d”,x,y,100-x-y); ,36,2019/9/27,例6.14 输入一个自然数,要求输出

21、其所有质因子。如: 24=1*2*2*2*3,37,2019/9/27,例6.15 简单的猜数游戏。,说明: 由计算机随机生成一个在确定范围内的整数;然后由任用户开始猜数,由计算机告诉用户是数过大还是数过小,直到猜对为止 分析: 采用do-while语句实现循环。,步骤: 1. 随机生成m 2. 重复 输入n 若nm 则输出“过大“否则若nm,则输出“过小“否则,输出“猜对了“ 若n!=m,返回 2,38,2019/9/27,程序实现,#include main() int m,n; m=random(100); /*产生0到99的随机整数*/printf(“nBegin:“); do sca

22、nf(“%d“, ,randomize(); /*初始化随机数发生器*/,39,2019/9/27,分析: 1. 输入30个字符数字char num,而不是整数 2. 30个字符的输入和30个数字的输入的区别 字符可以连续输入30个 009764146589. 数字输入必须是用空格,Tab键或回车隔开0 0 9 7 6 4 1 4 6 5 8 9 3. 将字符变成数字后判断奇偶 i=num-0; 字符数字的ASCII码:48 49 50 51 52 53 54 55 56 57,例6.16 输入30个09的字符数字,计算数字串中有多少个奇数,偶数和零 .,40,2019/9/27,步骤: 1计

23、数变量n1,n2,n3初始值设为零; 2. 输入1个字符num; 3. 循环变量初值i=1; 4.若i=30,重复 字符变成数字,num=num-0 判断num是否为0 判断num2的值 循环变量i+ 再输入1个字符num 5. 输出n1,n2,n3的值。,41,2019/9/27,main() int i, n1=0,n2=0,n3=0; char num; scanf(”%c”, ,42,2019/9/27,分析: 每当我们读入一张选票,只有6种情况,将它们加到相应的人选上。 -1结束循环 case语句作为开关。,例6.17 统计选票。现有选票如下 3,1,2,1,1,3,3,2,1,2,

24、3,3,2,1,1, 3,2,0,1,4,-1。 -1是结束标志。设1选李,2选张,3选王,其他为废票,谁会当选?,43,2019/9/27,main() int vote, li=0, zhang=0, wang=0, invalidvote=0;scanf(“%d”, ,44,2019/9/27,0,y,x,a,a+h,a+ih,a+(i+1)h,b,f(x),b a,例6.18 梯形法求数值积分。,45,2019/9/27,main() float a,b,h,n1,n2,s=0;int i;printf(“请输入积分限a和b:”); scanf(“%f%f”, ,程序实现,46,201

25、9/9/27,#include “math.h” main() int s; float n, t, pi; t=1; pi=0; n=1.0; s=1; do pi=pi+t; n=n+2; s=-s;t=s/n; while (fabs(t)=1.0e-6); pi=pi*4; printf(“pi=%10.6fn”,pi); ,例6.19 用/4 1-1/3+1/5-1/7+的公式求 的近似值,直到最后一项的绝对值小于10-6为止,47,2019/9/27,方法一:数列是正、负相间的,在这里可用一个变量 t 来解决符号的问题。main() float s=0;int t=1,i ;for

26、(i=1;i101;i+) s+=1.* t / i ; t = -t ; printf(“s=%fn“,s);,例6.20 求 s=1-1/2+1/3-1/4+ +1/99-1/100。,48,2019/9/27,方法二:分别求出正项和s1(奇数倒数)与负项和s2(偶数倒数),则s=s1-s2 main() float s,s1=0,s2=0;int i;for(i=1;i101;i+=2) s1+=1.0/ i; s2+=1.0/(i+1); s=s1-s2;printf(“s=%fn“,s);,49,2019/9/27,例6.21:一元人民币兑换成1分、2分、5分共有多少种方法?,若5分

27、、2分、1分的个数分别为x个、y个、z 个,则 x的取值为:020,y的取值为:050,z的取值为:0100。 于是有不定方程: 5x+2y+z=100。,50,2019/9/27,main() int i,j,k;long m=0L;for(i=0;i21;i+)for(j=0;j51;j+)for(k=0;k101;k+) if(5*i+2*j+k=100) m+=1;printf(“m=%ldn“,m); ,运行结果:m=54130,考虑程序的优化问题?,51,2019/9/27,上面程序的循环次数超过10万次,且大量的循环都不满足方程。可对程序进行优化,由于随着5分个数的增加,2分个数

28、就会减少,因此循环变量j可控制在(100-5i)/2以内,这样使得5i+2j=100。若不足100则补充1分,将问题转换成为求循环次数的问题了。,因为该不定方程中,如果有两个未知数确定后,第三个未知数也随之确定。即确定了一种分法。例如:,main() int i,j; long m=0L;for(i=0;i21;i+)for(j=0;j=(100-5*i)/2;j+)m+=1;printf(“m=%ldn“,m); ,i=20时,j=0 i=19时,j=0,1,2 i=18时,j=0,1,2,3,4,5,52,2019/9/27,例6.22 输入一行字符,按字母,数字和其他字符分成三类,分别统

29、计各类字符的数目(换行字符n不统计在内)。,分析: 1. 采用循环, 用读入的字符数据作为循环的控制变量, c=getchar() 2. 判断c为什么类字符:字母:c=a & c=A & c=0 & c=9,53,2019/9/27,#include main() char c; int alpha, digit, other;alpha=digit=other=0;printf(“input a text end of newline:n“);while(c=getchar()!=n)if(c=a ,程序实现,54,2019/9/27,分析: 检查所有的在95859到99999之间的对称数,

30、如果它与95859的差能被7整除,则商是速度。 /* 第一种算法*/a b c d e万位 千位 百位 十位 个位,例6.23 汽车里程表上的读数是95859,7小时之后里程表的读数是一个对称数(最大是5位数),问汽车的速度(是一个整数)。,55,2019/9/27,main() long i,a,b,c,e,d;for( i=95859; i=99999; i+ ) a=i/10000;b=(i-a*10000)/1000;c=(i-a*10000-b*1000)/100;d=(i-a*10000-b*1000-c*100)/10;e=i-a*10000-b*1000-c*100-d*10;

31、 if (a=e) ,该程序需要执行循环99999-95859次!,56,2019/9/27,/*第二种算法*/ main() long i,distance,a,b,c,d;(for i=1;i=200;i+) distance=95859+i*7;a=distance/10000b=(distance-a*10000)/1000;c=(distance-a*10000-b*1000)/100;d=(distance-a*10000-b*1000-c*100)/10;e=distance-a*10000-b*1000-c*100-d*10;if (a=e) and (b=d) printf(

32、“The speed is %d”,i); ,循环次数为 200-20,57,2019/9/27,/*第三种算法*/ main() long i,j,distance;for(i=6;i=9;i+) for (j=0;j=9;j+) distance=90000+i*1000+j*100+i*10+9;distance = distance-95959 ;if (distanc%7)=0) printf(“The speed is %d”,distance/7); ,该程序需要循环多少次?,break;if(distance%7=0) break;,goto end;end: ;,58,201

33、9/9/27,分析: (1)因为新出现的数(dcbcd)是: 个位数字(d)与万位数字、十位数字(c)与千位数字相同,而百位数字(b)只能是,表示万位和千位的变量a取值范围为:9599。所以,要将a分隔出的十位数字和个位数字分别赋予d和c 。 (2)约束条件是:公里数对称且车速为整数。,注意:95859超过了整型量的范围,应使用长整型量。,59,2019/9/27,60,2019/9/27,main() int a,b,c,d,n,v; long int m;for(a=95;a0) goto loop; loop: printf(“v=%dkm/h m=%ldkmn“,v,m); ,61,2

34、019/9/27,在本例这样的情况下,从内循环体直接使用goto语句跳出整个循环结构,收到了事半功倍的效果。但我们再次强调,要限制、最好不使用goto语句。思考:(1)若将if语句后goto语句改为break语句,结果如何?(2)若将printf(“v=%d m=%ldn“,v,m);直接放在if语句后,结果又如何?,62,2019/9/27,5.7 循环程序设计的问题,写循环,先要发现循环。注意计算中的重复性动作,引进循环可能统一描述和处理。 重复动作的常见例子: 累积一批可按规律算出的数据(如累加等); 反复从一个结果算出下一结果(递推等,见教材P71例5.9); 对一批数据做同样的加工处

35、理;等。,63,2019/9/27,写循环结构时要考虑和解决的问题:,循环涉及哪些变量,引进什么临时性变量? 这些变量在循环正式开始前应给什么初值?循环如何开始? 每次循环中变量的值应如何改变? 什么情况下继续循环(什么情况下终止)? 循环终止后如何得到所需结果?,64,2019/9/27,循环中的几种变量,循环中常出现几类变量,了解这些有助于思考和分析。这也是写循环程序的经验总结。1)循环控制变量(循环变量):循环前设初值,循环递增/递减,达到/超过界限时循环结束。控制循环的进行/结束。 for中常有这类变量。 for(n = 0; n 10; n+) for(n = 2; n 52; n

36、+= 4) ,65,2019/9/27,2)累积变量:循环中常用+=或*=等更新。初值常用运算的单位元(加用0;乘用1为初值)。循环结束时变量终值被作为循环计算结果。 3)递推变量:前两类变量的推广形式。复杂循环常用几个协同的变量,每次由一个/几个变量推出一个新值,其余依次更新。 对变量x1、x2、x3,循环体可能有序列: x1 = x0.; x2 = x1.; x3 = . x1 . x2 .;,66,2019/9/27,本章重点,三种循环语句while, do-while和for 建立循环通常有以下情况: 1. 给定次数, for比较适用 for(i=1;ia &c A& cZ),67,2

37、019/9/27,本章作业,求2324210之和。 从1开始做自然数的累加,当其累加和超过1000时,共计累加了多少数?当时的累加和是多少?(break 语句)。 请编写程序,其功能是:求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并将它们输出。 有一个数,用3除余2,用5除余3,用7除2,请找出满足条件的最小数。,68,2019/9/27,编写程序,其功能是:求出能整除x且不是偶数的各整数(x由键盘输入),并将它们输出。 例如,若x 中的值为:30,则有4个数符合要求,它们是1,3,5,15。 编程打印出如下矩阵:(51510)5251250625031250009

38、765625,69,2019/9/27,.main() int k,i,s=0,t=4;for(k=3;k=10;k+) t=t*2;s+=t; printf(“s=%dn“,s); ,#include “math.h“ main() int k,i,s=0,t=4;for(k=3;k=10;k+) t=pow(2,k);s+=t; printf(“s=%dn“,s); ,方法一,方法二,70,2019/9/27,. main() int a,b,t,x;scanf(“%d%d“, ,71,2019/9/27,3.main() int a,n,s;s=0,n=0;for(a=1;a+) n+;

39、s+=a;if(s1000) break;printf(“s=%d,n=%d“,s,n); ,方法一,方法二,main() int a,n,s;s=0,n=0;for(a=1; s=1000;a+) n+;s+=a; printf(“s=%d,n=%d“,s,n); ,72,2019/9/27,7. main() int i;long n=1;for(i=1;i=10;i+) n=n*5;printf(“%0dn”,n); ,73,2019/9/27,例 输入若干字母,将它们变成其后的第四个字母, AE, WA.非字母字符忽略。 思路: 1.建立循环, 循环结束以输入回车符为准 while (

40、c=getchar()!=n) 2. 判断输入是否是字符,否则忽略if (c=a 4. 若变换后超出z时,要轮回. If (cZ & cz) c=c-26,AZ.a.z,74,2019/9/27,#include “stdio.h” main() char c;while (c=getchar()!=n) if (c=a ,75,2019/9/27,例 输入若干数字,-1为输入结束标志,计算它们的平均数。,main() float value, total, average; int counter;total=0;counter=0; average = 0;scanf (“%d”,prin

41、tf (The average of %d values is %f”,counter,average) ,23.9 85.68 227E02 0.00863 75 93.44 71 14.7E-05 66 -1 The average of 9 values is 2568.336412,76,2019/9/27,* * * * *本例还是要考虑每行的空格数、和星号数问题,但要关注空格数与星号数在增加到一定的时候又要减少的规律。,例 用循环语句显示下面的图案。,77,2019/9/27,#include main() int i,j,k;for(i= -2;i=2;i+) for(j=1;j

42、=18+fabs(i);j+) printf(“ “);for(k=1;k=5-2*fabs(i);k+) printf(“*“); printf(“n“); ,注意初、终值从-2到2的目的。,for(i=0;i4;i+) for(j=0;j20-i;j+) printf(“ ”); /*空格递减*/for(k=0;k2*i+1;k+) printf(“*”); /*星号递增 */ ,78,2019/9/27,打印出100到200之间所有的素数 #include “math.h” main() int n,m, i, k;for (n=100;n=200;n+) k=sqrt(n);for (i=2;i=k;i+)if (n % i)=0) break;if (i=k+1)printf(“%d prime numbern”,m);else printf(“%d not a primen”,m); ,79,2019/9/27,课外练习,一、每个苹果0.8元,第一天买两个苹果。从第二天开始,每天买前一天的2倍,当每天购买苹果的数大于100时,则停止. 求平均每天花多少钱? 二、输入一行字符,回车为结束,分别统计出其中的英文字母,空格,数字和其它字符的个数。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报