当前位置: 首页 > article >正文

【C++练习】生成并打印所有可能的三色组合

题目:

生成并打印所有可能的三色组合

描述

给定一个包含5种颜色的列表(红色、黄色、蓝色、白色、黑色),请编写一个程序,使用C++生成并打印出该列表中所有可能的三色组合。每个组合应包含三种不同的颜色,并且组合中的颜色顺序不重要(即,组合 "红, 黄, 蓝" 与 "黄, 红, 蓝" 视为相同的组合,只需输出其中一种)。

要求

  1. 使用向量(vector)来存储颜色列表和生成的三色组合。
  2. 使用三重嵌套循环来遍历颜色列表,并生成所有可能的三色组合。
  3. 最后,遍历并打印出所有生成的三色组合,每个组合中的颜色用逗号分隔,并且每个组合占一行。

输入

无需输入,颜色列表已给定,为 {"红", "黄", "蓝", "白", "黑"}

输出

输出应包含所有可能的三色组合,每个组合占一行,颜色之间用逗号分隔。输出的顺序不要求特定顺序,但每种组合应只出现一次。

源代码:

#include <iostream>  
#include <vector>    
using namespace std;  

int main() {
    // 初始化一个包含5种颜色的向量  
    vector<string> colors = { "红", "黄", "蓝", "白", "黑" };

    // 初始化一个二维向量,用于存储所有可能的三色组合  
    vector<vector<string>> combinations;

    // 三重嵌套循环,用于生成所有可能的三色组合  
    for (int i = 0; i < colors.size(); ++i) {  // 外层循环,选择第一个颜色  
        for (int j = i + 1; j < colors.size(); ++j) {  // 中层循环,选择第二个颜色  
            for (int k = j + 1; k < colors.size(); ++k) {  // 内层循环,选择第三个颜色  
                // 创建一个包含当前三个颜色的向量  
                vector<string> combo = { colors[i], colors[j], colors[k] };
                // 将当前组合添加到组合列表中  
                combinations.push_back(combo);
            }
        }
    }

    // 遍历并打印所有组合  
    for (const auto& combo : combinations) {
        cout << combo[0] << ", " << combo[1] << ", " << combo[2] << endl;
    }

    return 0;
}

运行截图:


http://www.kler.cn/a/385654.html

相关文章:

  • 【go从零单排】Mutexes互斥锁
  • 【GPTs】MJ Prompt Creator:轻松生成创意Midjourney提示词
  • EDUCODER头哥 基于MVC模式的用户登录
  • ELK-Logstash配置
  • 基于TI AM62A+FPGA实现FPDLINK III车载摄像头解决方案
  • 显示器接口种类 | 附图片
  • 组队学习首次开放许愿啦!下个月想学什么,听你的
  • C 语言函数指针 —— 实现程序分层
  • 腾讯为什么支持开源?
  • SpringMVC执行流程与运行原理解析
  • 智能提醒助理系列-springboot项目彩虹日志+TraceID
  • 基于单片机的智能家居安防系统设计
  • Vite与Vue Cli的区别与详解
  • 985研一学习日记 - 2024.11.8
  • 浅谈绝缘测试以及压缩电机应用
  • 青少年学习倦怠测评
  • 算法(第一周)
  • 鸿蒙ArkTS中的获取网络数据
  • Golang | Leetcode Golang题解之第551题学生出勤记录I
  • 一步一步从asp.net core mvc中访问asp.net core WebApi
  • 【北京迅为】《STM32MP157开发板嵌入式开发指南》-第七十六章 C++入门
  • 精选 Top10 开源调度工具,解锁高效工作负裁自动化
  • Linux基础(2)
  • 【LGBM】LightGBM sklearn API超参数解释与使用方法(优化)
  • PICO+Unity MR空间网格
  • GPT对NLP的冲击