编程实现:从键盘输入n,产生n个[50,99]范围内的随机数,存入一维整型数组中,删除数组中所有的偶数元素,输出删除偶数元素之前和之后的数组元素,要求每行输出6个数据、数据域宽为4。用c++写
时间: 2024-05-03 11:18:57 浏览: 75
下面是用C++实现的代码:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
int n;
cout << "请输入n:";
cin >> n;
int* arr = new int[n];
srand(time(NULL)); // 随机数种子
for(int i = 0; i < n; i++)
{
arr[i] = rand() % 50 + 50; // 产生[50,99]范围内的随机数
}
cout << "删除偶数元素之前的数组:\n";
for(int i = 0; i < n; i++)
{
cout << arr[i] << " ";
if((i + 1) % 6 == 0) // 每行输出6个数据
cout << endl;
}
cout << endl;
int oddCount = 0; // 记录奇数元素的个数
for(int i = 0; i < n; i++)
{
if(arr[i] % 2 == 1)
oddCount++;
}
int* oddArr = new int[oddCount]; // 创建新的数组存储奇数元素
int j = 0;
for(int i = 0; i < n; i++)
{
if(arr[i] % 2 == 1)
{
oddArr[j] = arr[i];
j++;
}
}
cout << "删除偶数元素之后的数组:\n";
for(int i = 0; i < oddCount; i++)
{
cout << oddArr[i] << " ";
if((i + 1) % 6 == 0) // 每行输出6个数据
cout << endl;
}
cout << endl;
delete[] arr;
delete[] oddArr;
return 0;
}
```
运行结果示例:
```
请输入n:10
删除偶数元素之前的数组:
94 83 95 87 83 77
99 62 85 57
删除偶数元素之后的数组:
83 95 87 83 77 99
85 57
```
阅读全文