键盘输入 5 个整数,将这些数据保存到set中,采用迭代器正向遍历set中的元素并输出。c++代码实现
时间: 2024-02-13 12:07:07 浏览: 25
以下是C++代码实现:
```c++
#include <iostream>
#include <set>
using namespace std;
int main() {
set<int> mySet; // 创建一个空的set
// 从键盘输入5个整数,插入到set中
for (int i = 0; i < 5; i++) {
int num;
cin >> num;
mySet.insert(num);
}
// 使用迭代器正向遍历set中的元素并输出
set<int>::iterator it;
for (it = mySet.begin(); it != mySet.end(); it++) {
cout << *it << " ";
}
cout << endl;
return 0;
}
```
运行示例:
输入:5 4 3 2 1
输出:1 2 3 4 5
相关问题
用C++语言实现输入10个整数存入数组,将数组中的素数存入另一个数组中.并遍历素数数组的代码
以下是用 C 语言实现输入 10 个整数存入数组,将数组中的素数存入另一个数组中,并遍历素数数组的代码:
```c
#include <stdio.h>
int main() {
int nums[10], primes[10], count = 0;
printf("请输入 10 个整数:\n");
// 输入 10 个整数
for (int i = 0; i < 10; i++) {
scanf("%d", &nums[i]);
}
// 判断素数并存入 primes 数组
for (int i = 0; i < 10; i++) {
int is_prime = 1;
if (nums[i] <= 1) {
is_prime = 0;
} else {
for (int j = 2; j < nums[i]; j++) {
if (nums[i] % j == 0) {
is_prime = 0;
break;
}
}
}
if (is_prime) {
primes[count] = nums[i];
count++;
}
}
// 输出素数数组
printf("素数数组为:\n");
for (int i = 0; i < count; i++) {
printf("%d ", primes[i]);
}
return 0;
}
```
在程序中,我们首先定义了两个数组 nums 和 primes,以及一个计数器 count,用于存储素数的个数。
然后通过 for 循环输入 10 个整数,并通过另一个 for 循环遍历数组 nums,判断每个数是否为素数。如果是素数,则将其存入 primes 数组,并将计数器 count 加一。
最后通过一个 for 循环遍历素数数组 primes,并输出每个素数。
从键盘上输入10个整数存入a中,通过指针将数组元素的值逆序输出代码
可以使用以下代码实现将数组元素逆序输出:
```c++
#include <iostream>
using namespace std;
int main() {
int a[10];
int *p = a;
cout << "请输入10个整数:" << endl;
for(int i = 0; i < 10; i++) {
cin >> *(p+i);
}
cout << "逆序输出数组元素:" << endl;
for(int i = 9; i >= 0; i--) {
cout << *(p+i) << " ";
}
return 0;
}
```
首先定义一个包含10个整数的数组a,和一个指向a的指针p。然后通过循环从键盘上输入10个整数存入数组a中。接下来使用循环将数组a中的元素逆序输出,即先输出a[9],再输出a[8],以此类推,最后输出a[0]。在循环中使用指针p访问数组a中的元素,通过*p来访问p所指向的地址的值。