一、问题描述
百钱买百鸡问题:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,用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)嵌套循环从外层循环进入,内层循环结束后再进行外层循环;