Menu
CoddyTech

回顾:唯一数字

本课属于 Coddy C++ 学习旅程的“逻辑与流程”单元。第 40 课,共 56 课。

challenge icon

挑战

简单

创建一个程序,读取一系列整数,并使用 std::set 自动过滤重复项,然后输出不同数字的数量。这展示了集合的主要优势:无需手动检查重复项,就能保存不重复的元素。

程序会收到以下输入:

  • 一个整数 n,表示将输入多少个数字
  • 然后是 n 个要处理的整数

你的程序应该:

  1. 创建一个空的 std::set<int>
  2. 读取将要输入的整数数量
  3. 使用循环读取每个整数,并用 .insert() 方法将其插入集合
  4. 处理完所有数字后,使用 .size() 方法获取不同数字的数量
  5. 输出结果,显示找到了多少个不同的数字

请使用以下确切的输出格式:

Unique numbers: [count]

集合会自动处理重复项:尝试插入一个已存在的数字时,集合会忽略这次重复插入。也就是说,你不需要手动检查重复项,只需插入所有数字,让集合为你保持元素不重复即可。集合的最终大小正好表示输入中有多少个不同的数字。

亲手试试

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

int main() {
    // 读取整数的个数
    int n;
    cin >> n;
    
    // 创建一个空集合,用来存储不重复的整数
    set<int> uniqueNumbers;
    
    // TODO: 在这里编写你的代码
    // 用循环读取 n 个整数,并将它们插入集合
    
    // 输出结果
    cout << "Unique numbers: " << uniqueNumbers.size() << endl;
    
    return 0;
}

逻辑与流程中的所有课

自己练习: C++ 在线编译器