第3章控制结构成都理工大学孙淑霞C/C++程序设计教程(第4版)
授课提纲C语句和程序结构顺序结构分支结构循环结构控制结构程序举例
【例题】求出m~n之间的所有素数(1mn)?3#includemath.h#includestdio.hintmain(void){intm,k,i,n;printf(PleaseInputTwoIntegerM(1)andN(NM):);scanf(%d%d,m,n);for(;m=n;m++){k=sqrt(m);for(i=2;i=k;i++)if(m%i==0)break;if(i=k+1)printf(%6d,m);}return(0);}分析例3-7的流程图或程序写出该程序。
【例3-6】用循环语句的嵌套输出如图所示的“金字塔”图形。要点:分析图形的组成,找出规律。*************************分析:行数星号前的空格数每行的星号“*”数行数“*”前的空格个数“*”个数151243335427519
#includestdio.hintmain(void){inti,j,k;return(0);}程序运行结果for(i=1;i=5;i++){}for(j=0;j=5-i;j++)printf(%2c,);for(k=1;k=2*i-1;k++)printf(%2c,*);printf(\n);【例3-6】用循环语句的嵌套输出如图所示的“金字塔”图形。(续)
思考与练习输出如下图形:*****************************************112112321123432112345432112345654321123456765432112345678765432112345678987654321
#includestdio.h#includemath.hintmain(void){doublet=1,pi=0,n=1,eps=1.0e-6;ints=1;while(fabs(t)=eps){pi+=t;n+=2;s*=-1;t=s/n;}pi*=4;printf(\nPI=%lf\n,pi);return(0);}开始结束?pi+t→pin+2→ns*(-1)→ss/n→tY输出pifabs(t)≥eps?Npi*4→pi【例3-5】计算π的值,精确到10-6。?
思考与练习????
【例题】求Fibonacci数列前30个数,要求每行输出6个数。Fibonacci数列特点:第1,2两项为1,1。从第3个数开始,每项是其前面两项之和,即:1,1,2,3,5,8,13,…。f1=1,f2=1fn=fn-1+fn-2(n=3,4,…,N)算法分析:①f1=1,f2=1②输出f1,f2③f1=f1+f2,f2=f2+f1④选择输出换行④循环15次
#includestdio.hintmain(void){longf1=1,f2=1;inti;for(i=1;i=15;i++){printf(%-12ld%-12ld,f1,f2);if(i%3==0)printf(\n);f1=f1+f2;f2=f2+f1;}return(0);}【例题】求Fibonacci数列前30个数(续)开始结束1→f1,1→f2f1+f2→f1f2+f1→f2Yi≤15?1→ii%3=0?YN输出f1