一、问题描述
百钱买百鸡问题:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,用100文钱买100只鸡,公鸡、母鸡、小鸡各买多少只
二、设计思路
(1)定义三个变量下x,y,z代表公鸡,母鸡,小鸡的数量;
(2)令公鸡的数量从0开始加,利用嵌套循环,内层母鸡数量从0开始增加,最内层小鸡数量从0开始增加;
(3)令公鸡+母鸡+小鸡=100,5*公鸡+3*母鸡+小鸡/3=100;
(4)输出满足要求的公鸡,母鸡,小鸡数量;
三、程序流程图
四、伪代码
五、代码
1 #include <iostream> 2 using namespace std; 3 int main() 4 { 5 int x, y, z; 6 for (x = 0; x <= 20; x++) 7 { 8 for (y = 0; y <= 33; y++) 9 { 10 for (z = 0; z <= 100; z=z+3) 11 { 12 if (x + y + z == 100 && 5 * x + 3 * y + z / 3 == 100) 13 { 14 cout << "公鸡有:" << x << " 母鸡有:" << y << " 小鸡有:" << z << endl; 15 } 16 } 17 } 18 } 19 return 0; 20 }
测试结果:
六、总结
(1)可以用嵌套循环来使一个数不变,另一个数进行运算,以达到两数运算结果为特定值的目的;
(2)嵌套循环从外层循环进入,内层循环结束后再进行外层循环;