第五章:循环控制结构程序04
让编程改变世界
Change the world by program
问题: 尝试编程输出以下图形
* ** *** **** ***** ****** 分析VS提示: 一共6行, 每行的 ‘*’数目与行号相同 [codesyntax lang="c"]#include <stdio.h> void main() { int i, j; for ( i=1; i < 7; i++) { printf("n"); for ( j=1; j <= i; j++ ) { putchar('*'); } } }[/codesyntax]
几种循环的比较
(1) 四种循环都可以用来处理同一问题,一般情况下它们可以互相代替。但一般不提倡用goto型循环。 (2) 在while循环和do-while循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,应在循环体中包含使循环趋于结束的语句(如i++,或i=i+1等)。 for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中。因此for语句的功能更强凡用while循环能完成的,用for循环都能实现。 (3) 用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成而for语句可以在表达式1中实现循环变量的初始化。 (4)while循环、do-while循环和for循环,可以用break语句跳出循环,用continue语句结束本次循环(break语句和continue语句见下节)。而对用goto语句和if语句构成的循环,不能用break语句和continue语句进行控制。例题训练
题目1:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 [codesyntax lang="c"]#include <stdio.h> void main() { int i, j, k; printf("n"); for(i=1;i<5;i++) /*以下为三重循环*/ { for(j=1;j<5;j++) { for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/ printf("%d,%d,%dn",i,j,k); } } } }[/codesyntax] [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LQATIFZIYXXC']视频下载[/Downlink]