循环控制结构程序之例题 |
几种循环的比较
(1) 四种循环都可以用来处理同一问题,一般情况下他们可以互相代替。但是一般 不提倡用goto型循环。(2) 在while循环和do-while 循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,应在循环体中包含使循环趋于结束的语句(如i++,或者i=i+1等)
(3) for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放在表达式3中。因此for语句的功能更强,凡用while循环完成的,用for循环也可以实现。
(4) 用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成而for语句可以在表达式1中实现循环变量的初始化。
(5) while循环,do-while循环和for循环,可以用break语句跳出循环,用continue语句结束本次循环。而对用goto语句和if语句构成的循环,不能用break语句和continue语句进行控制。
例题:循环的嵌套
#include<stdio.h>
void main()
{
int i,j;
printf("i j \n");
for(i=0;i<2;i++)
for(j=0;j<2;j++) //先算这个for
printf("%d%d\n",i,j); //00,01,10,11
}
例题:输出以下图形
*
**
#include<stdio.h>
void main()
{
int i,j;
for(i=1;i<=6;i++)
{
printf("\n");
for(j=1;j<=i;j++)
printf("*");
{
}
}
}
例题:有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
#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!=j&&i!=k&&j!=k)
printf("%d%d%d\n",i,j,k);
}
}
}
}