中国大学MOOC:百鸡百钱问题。现用枚举法求解,假设公鸡有x只、母鸡有y只,鸡雏有z只,程序如下:#include#includeintmain(){intx,y,z,k=0;for(x=0;x<100;x++)for(y=0;y<=100;y++){z=100-x-y;if(z>=0&&z%3==0){if(fabs(x*5+y*3+z/3-100)<1e-3){k++;printf(Plan%disx:%-3dy:%-3dz:%-3d\n,k,x,y,z);}}}return0;}此程序可以求出正确的解。
举一反三
- intx=5,y=8,z=7;表达式z=!(x>y)||(x=1,y=3)计算后的结果 A: x=1,y=3,z=1 B: x=1,y=3,z=0 C: x=5,y=8,z=0 D: x=5,y=8,z=1
- 中国大学MOOC: 若x=5,y=11,z=0,有如下程序段,那么if (x<0) x=y+1;else if (y>0)y=x+1;elsex=x+1;z=z+1;(1) x=( )(2) y=( )(3) z=( )
- 以下程序的输出结果是_____。 main() { int a[]={2, 4, 6}, *prt=&a[ 0], x=8, y, z; for(y=0; y < 3; y++) z=(*(prt + y)< x)? *(prt + y):x; printf("%d\n", z); }
- 若有int x,y,z;,则执行以下程序段后的输出结果为:x=1;y=3;z=5;if(x>;y)x=y;y=z;printf("x=%d,y=%d,z=%d",x,y,z); A: x=1,y=5,z=5 B: x=1,y=3,z=3 C: x=5,y=3,z=5 D: x=5,y=3,z=3
- 若x=5,y=11,z=0,有如下程序段,那么if (x<0)x=y+1;else if (y>0)y=x+1;elsex=x+1;z=z+1;(1) x=( )(2) y=( )(3) z=( )