回顾:唯一数字
本课属于 Coddy C++ 学习旅程的“逻辑与流程”单元。第 40 课,共 56 课。
挑战
简单创建一个程序,读取一系列整数,并使用 std::set 自动过滤重复项,然后输出不同数字的数量。这展示了集合的主要优势:无需手动检查重复项,就能保存不重复的元素。
程序会收到以下输入:
- 一个整数
n,表示将输入多少个数字 - 然后是
n个要处理的整数
你的程序应该:
- 创建一个空的
std::set<int> - 读取将要输入的整数数量
- 使用循环读取每个整数,并用
.insert()方法将其插入集合 - 处理完所有数字后,使用
.size()方法获取不同数字的数量 - 输出结果,显示找到了多少个不同的数字
请使用以下确切的输出格式:
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++ 在线编译器