编程实现:产生n个[50,99]范围内的随机数,存入一维整型数组中,删除数组中所有的偶数元素,输出删除偶数元素之前和之后的数组元素,要求每行输出6个数据、数据域宽为4。用c++语言
时间: 2024-12-16 09:20:15 浏览: 6
有一个一维数组内放个学生成绩求平均成绩。-C++程序设计_谭浩强(完整版)ppt
在C++中,你可以使用`<iostream>`、`<vector>`以及`<cstdlib>`库来实现这个功能。以下是完整的代码示例:
```cpp
#include <iostream>
#include <vector>
#include <cstdlib> // 包含rand()和srand()函数
// 生成一个[50, 99]的随机数
int randomInRange() {
static std::random_device rd; // 使用随机设备保证随机性
std::mt19937 gen(rd()); // Mersenne Twister随机数生成器
std::uniform_int_distribution<> dis(50, 99); // 定义分布区间
return dis(gen);
}
int main() {
const int n = 10; // 随机数的数量
std::vector<int> arr(n);
for (int i = 0; i < n; ++i) {
arr[i] = randomInRange();
std::cout.width(4); // 设置每个数据字段宽度为4
std::cout << arr[i] << ' '; // 输出数字并添加空格
if ((i + 1) % 6 == 0) { // 每打印6个数据换行
std::cout << '\n';
}
}
std::cout << "Original Array:\n";
// 删除偶数元素
for (int i = 0; i < n; ++i) {
if (arr[i] % 2 != 0) { // 只保留奇数
std::cout.width(4);
std::cout << arr[i] << ' ';
}
if ((i + 1) % 6 == 0) {
std::cout << '\n';
}
}
return 0;
}
```
运行这段代码,它首先会生成指定数量的[50, 99]范围内的随机数,并按照每行6个的数据量输出原始数组。然后,它将删除所有偶数元素并再次输出数组。
阅读全文