资源描述:
《FOR嵌套循环.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、循环嵌套结构例1显示右侧图形main(){inti;for(i=1;i<=5;i++)printf("*");getch();}*****例2显示右侧图形main(){inti,j;for(i=1;i<=4;i++){for(j=1;j<=5;j++)printf("*");printf("");}getch();}********************例3显示右侧图形main(){inti,j;for(i=1;i<=4;i++){for(j=1;j<=i;j++)printf("*");printf("
2、");}getch();}**********例4显示右侧图形main(){inti,k,j;for(i=1;i<=4;i++){for(k=1;k<=4-i;k++)printf("");for(j=1;j<=i;j++)printf("*");printf("");}getch();}**********例5显示右侧图形main(){inti,j;for(i=1;i<=4;i++){for(j=1;j<=i;j++)printf("%d",j);printf("");}for(i=1;i<=
3、4;i++){for(j=1;j<=5-i;j++)printf("%d",j);printf("");}}11212312341234123121例6编程输出下面的数字金字塔(1到9)。112112321.…..12345678987654321第五章练习main(){inti,j,k,t;for(i=1;i<=9;i++){for(j=1;j<=10-i;j++)printf("");for(k=1;k<=i;k++)printf("%d",k);for(t=1;t<=i-1;t++)printf(
4、"%d",i-t);printf("");}}例7用0--9这十个数字可以组成多少无重复的三位数?编程方法:“穷举法”按问题本身的性质,一一列举出该问题所有可能的解,并在逐一列举的过程中,检验每个可能解是否是问题的真正解,若是,我们采纳这个解,否则抛弃它。对于所列举的值,既不能遗漏也不能重复。for语句#include"stdio.h"voidmain()/*a,b,c代表百位、十位、个位*/{intx,a,b,c,num=0;/*num存放满足条件的数的个数,注意num要赋初值*/for(x=100;x<
5、=999;x++){a=x/100;b=x/10%10;c=x%10;if(a!=b&&a!=c&&b!=c){num++;printf("%5d",x);}}printf("number=%d",num);}for语句例8.以下问题可以用穷举法编程某旅行团有男人、女人和小孩共30人,在纽约一家小饭馆里吃饭,该饭馆按人头收费,每个男人收3美元,每个女人收2美元,每个小孩收1美元,共收取50美元。男人、女人和小孩各有都少人?共有多少组解。第五章课后思考main(){intm,w,c;for(m=0;m<=16
6、;m++)for(w=0;w<=25;w++)for(c=0;c<=50;c++)if(3*m+2*w+c==50&&m+w+c==30)printf("m=%dw=%dc=%d",m,w,c);getch();}编程方法:“递推法”例9:裴波那契数列的第1、2项分别为1、1,以后各项的值均是其前两项之和。求前30项菲波那契数。所谓递推法就是从初值出发,归纳出新值与旧值间的关系,直到求出所需值为止。新值的求出依赖于旧值,不知道旧值,无法推导出新值。数学上递推公式正是这一类问题。for语句f1--第一个数f2
7、--第二个数f3--第三个数f1=1;f2=1;f3=f1+f2;以后只要改变f1,f2的值,即可求出下一个数.f1=f2;f2=f3;f3=f1+f2;递推for语句voidmain(){longf1=1,f2=1,f3;intk;参考程序:printf("%ldt%ldt",f1,f2);for(k=3;k<=30;k++){f3=f1+f2;printf("%ldt",f3);f1=f2;f2=f3;}}注意f1、f2、f3、x的类型递推for语句循环结构程序设计举例循环结构程序设计举例【例10】求
8、#include"stdio.h"voidmain(){floats=0,f1=2,f2=1,f=1,t,n;/*累加器赋初值*/for(n=1;n<=10;n++){s=s+f*f1/f2;/*累加器当前值=累加器原来的值+新的要加的数据*/f=f*(-1);t=f2;f2=f1;f1=f1+t;/*为求下一个要加的数据做准备*/}printf("s=%f",s);}【例11】输