实验项目:循环嵌套(写实报告) 实验内容:程序()功能:编程实现正三角型星号的 打印 参考程序: main dint i, j, k,n 设n=6,图形如下 scanf( %d",&n) 米 for(i=1; i< n;i++」 水水半 ifor(j=1, j=n-i; j++) 水水半半水 printf("m) 水水半水* for(k=1;k<=2*1;k++) 水水水半半半冰 printf( x) 冰*水冰水水冰水*水 printf( n)
实验项目: 循环嵌套 (写实验报告) 实验内容:程序(一) 功能:编程实现正三角型星号的 打印 参考程序: main() {int i,j,k,n; 设n=6,图形如下 scanf("%d",&n); * for(i=1;i<=n;i++) *** {for(j=1;j<=n-i;j++) ***** printf(" "); ******* for(k=1;k<=2*i-1;k++) ********* printf("*"); *********** printf("\n"); } }
程序(二)功能:编程实现打印3~100之间的所有素数。 参考程序: #include <math. h main( fint n, m, t, k=0 for(n=3;n<=100;n=n+2) ksq for(m=2; m< m++)/*k* f )t=0; break; i /*n%m==0*/ if(tiprintf(" %d", n); k++ i if(k%10==0) printf("n:
程序(二) 功能:编程实现打印3~100之间的所有素数。 参考程序: #include main() {int n,m,t,k=0; for( n=3 ; n<=100; n=n+2) {k=sqrt(_____); /* n */ t=1; for(m=2; m<=_______; m++) /* k */ if(________) {t=0; break;} /* n%m==0 */ if(t) {printf("%d",n);k++;} if(k%10= =0) printf("\n"); } }
程序(三)功能:编程实现一个小球从100高度自由落下,每次 落地后反弹回原来的高度的一半,再落下。求它在第10次落地 时,共经过多少米?第10次反弹多高? 提示:画图分析。设变量p表示每次落地后经过的米数,设变量 h表示每次落地前小球离地面的高度,变量s表示前i次小球经过 的米数之和。循环体可以表示为:(初值h=100,s-0) p-h+h/2; sstp h=h/2 100 50 25 2 3 4 注意:最后一次不包括反弹米数,所以结果中的s 应该减去h米,即应该经过s-h米
程序(三) 功能:编程实现一个小球从100高度自由落下,每次 落地后反弹回原来的高度的一半,再落下。求它在第10次落地 时,共经过多少米?第10次反弹多高? 提示:画图分析。设变量p表示每次落地后经过的米数,设变量 h表示每次落地前小球离地面的高度,变量s表示前i次小球经过 的米数之和。循环体可以表示为: (初值 h=100, s=0) p=h+h/2; s=s+p; h=h/2; 注意:最后一次不包括反弹米数,所以结果中的s 应该减去h米,即应该经过s-h米。 100 50 25 1 2 3 4 ………
程序: maino float s=0,p, h=100 Int n for(n=1;n<=10;n++) {p=h+h/2 sstp h=h/2; printf(“‘第十次落地时共经过的%fm,s-h) printi(“第十次反弹%fm”,h);
程序: main() {float s=0 , p , h=100; int n; for(n=1;n<=10;n++) {p=h+h/2; s=s+p; h=h/2; } printf(“ 第十次落地时共经过的%f m.”,s-h); printf(“ 第十次反弹%f m.”, h); }
问题 去掉程序一内层的花括号{}程序会输出什么图形?为什么? 2.去掉程序一中 printf("\n");语句,程序会输出什么结果?为什么 如果想把程序一中的三角形倒过来,如何修改程序? 4补充程序二 程序二中变量t的作用是什么?如果不用变量t应如何修改程序? 6.程序二中语句if(k%10==0) printf("n");起什么作用? 编程实现程序三的功能
问题 1.去掉程序一内层的花括号{ }程序会输出什么图形?为什么? 2.去掉程序一中printf("\n");语句,程序会输出什么结果?为什么 3.如果想把程序一中的三角形倒过来,如何修改程序? 4.补充程序二。 5.程序二中变量t的作用是什么?如果不用变量t应如何修改程序? 6.程序二中语句if(k%10==0) printf("\n"); 起什么作用? 7.编程实现程序三的功能
120页6.1程序:(偎假设m>n) main( 例如求m与n的最大公约数 fint m, n, r mqI n+r scanf( %od, %d,, &m, &n) n=grtr r=mgo n r1q3r2+r while(r=0) &m=n; n=r; In-2=qiN- +rn(r=O) r=myo n 比如28与6 printf((%din“,r) 28=4×6+4 6=1×4+2 4=2×2+0
120 页 6.1 程序:(假设m>n) main() 例如求 m 与 n 的最大公约数 {int m , n , r ; m=q1 n + r1 scanf(“%d,%d”,&m,&n); n=q2 r 1+ r2 r =m% n ; r 1=q3 r2 +r3 while(r!=0) ……… {m = n ; n= r ; rn-2=qn rn-1 +rn (rn=0) r = m% n ; } 比如28 与 6 printf(“ %d \n “, r); 28=4×6 + 4 } 6=1×4 + 2 4=2×2 + 0