天天看点

第九周项目六 三色球问题

问题及代码:

/*
 *copyright (c) 2014,烟台大学计算机学院
 *all rights reserved.
 *文 件 名 : 三色球问题.cpp
 *作    者 :张   鹏
 *完成日期 :2014年10月27号
 *版 本 号 :v1.0
 *
 *问题描述 :若一个口袋中放有12个球,其中有3个红的,3个白的和6个黑的,问从中任取8个共有多少种颜色搭配?
 *输入描述 :无
 *程序输出 :输出一系列数,为不同的颜色搭配。
 */
#include <iostream>                                //预处理指令。
using namespace std;                               //使用C++的命名空间 std。
int main()                                         //函数首部。
{
    int iW_ball,iR_ball,iB_ball,iCase=0;           //声明四个变量iW_ball,iR_ball,iB_ball,iCase为整型。四个变量分别代表白球,红球,黑球和方案。
    cout<<"颜色搭配的方案如下:"<<endl;            //输出汉字,使得界面更友好。
    for(iW_ball=0; iW_ball<=3; iW_ball++)          //for语句执行,穷举白球数量的可能性。
    {
        for(iR_ball=0; iR_ball<=3; iR_ball++)      //for语句执行,穷举红球数量的可能性。
            if (8-iW_ball-iR_ball<=6)              //if语句执行,判断是否满足要求。
            {
                iCase++;                           //方案数的计算。
                iB_ball=8-iW_ball-iR_ball;         //黑球的数量。
                if (iCase<10)                      //if语句执行,为了界面更整齐。
                    cout<<"方案 "<<iCase<<":   红球"<<iR_ball<<"颗    白球"<<iW_ball<<"颗    黑球"<<iB_ball<<"颗"<<endl;     //输出结果
                else 
                    cout<<"方案"<<iCase<<":   红球"<<iR_ball<<"颗    白球"<<iW_ball<<"颗    黑球"<<iB_ball<<"颗"<<endl;      //输出结果
            }
    }
    return 0;                                      //执行return语句并结束程序。
}
           

运行结果:

第九周项目六 三色球问题

知识点总结:

  理由数学知识减少for语句的多重嵌套。

学习心得:

  看来编程可以解决好多实际问题,棒棒的!