- 百钱买百鸡问题
int x,y,z;
for(x=0;x<=100;x++)
{
for(y=0;y<=100;y++)
{
for(z=0;z<=100;z++)
{
if( x+y+z ==100 && z%3==0 && 5*x+3*y+ z/3 == 100)
printf("%3d%3d%3d\n",x,y,z);
}
}
}
第二种方法
int x,y,z;
for(x=0;x<=100;x++)
{
for(y=0;y<=100;y++)
{
z = 100 -x-y;
if( z%3==0 && 5*x+3*y+ z/3 == 100)
printf("%3d%3d%3d\n",x,y,z);
}
}
第三种
int x,y,z;
for(x=0;x<=100;x++)
{
for(z=0;z<=100-x;z+=3)
{
y=100-x-z;
if( z%3==0 && 5*x+3*y+ z/3 == 100)
printf("%3d%3d%3d\n", x, y, z);
}
}
递推的例子:
1.猴子吃桃子
int n,i;
n=1;
for(i=1;i<=9;i++)
{
n = (n+1)*2;
}
printf("%d",n);
for语句嵌套循环
*
***
*****
*******
*********
int i,j,n;
scanf("%d",&n);
for(i=1;i<=n;i++) //控制行数
{
//输出第i行
for( j=1;j<=n-i;j++)
printf(" ");
for( j=1;j<=2*i-1;j++)
printf("*");
printf("\n");
}
continue语句对程序的影响
int n =1;
while(n<10)
{
if(n%2)
continue; //死循环n一直为1
printf("%d",n);
++n;
}
逗号连接语法错误,逗号连接两个表达式
continue不算表达式
while(n<10)
{
if(n%2)
++n,continue;
printf("%d",n);
}
考试时循环程序题的思考
1.是用for还是用while,已知次数和未知次数
2.打印图形
3.break和continue区别
4.do-while语句
网友评论