编程实现:产生n个[50,99]范围内的随机数,存入一维整型数组中,删除数组中所有的偶数元素,输出删除偶数元素之前和之后的数组元素,要求每行输出6个数据、数据域宽为4。用c++写
时间: 2024-05-16 08:16:33 浏览: 86
以下是用C++实现的代码:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
const int n = 20; // 产生20个随机数
int a[n]; // 存储随机数的数组
srand(time(NULL)); // 设置随机数种子
// 产生随机数并存入数组中
for (int i = 0; i < n; i++)
{
a[i] = rand() % 50 + 50;
}
cout << "删除偶数元素之前的数组元素:" << endl;
// 输出删除偶数元素之前的数组元素
for (int i = 0; i < n; i++)
{
cout.width(4);
cout << a[i];
if ((i + 1) % 6 == 0)
cout << endl;
}
// 删除偶数元素
int count = 0; // 记录奇数元素的个数
for (int i = 0; i < n; i++)
{
if (a[i] % 2 != 0)
{
a[count] = a[i];
count++;
}
}
cout << endl << "删除偶数元素之后的数组元素:" << endl;
// 输出删除偶数元素之后的数组元素
for (int i = 0; i < count; i++)
{
cout.width(4);
cout << a[i];
if ((i + 1) % 6 == 0)
cout << endl;
}
return 0;
}
```
该程序利用 `srand()` 函数和 `rand()` 函数产生随机数,并将随机数存入一维整型数组中。然后使用 `for` 循环遍历数组,输出删除偶数元素之前的数组元素。接下来再使用 `for` 循环删除数组中的偶数元素,并将奇数元素放在数组的前面。最后再次使用 `for` 循环遍历数组,输出删除偶数元素之后的数组元素。每输出6个数据,就换行。
阅读全文