用c++一个int型维数组a,长度为N,这里N为符号常量(注意N值应满足以下操作需求)。建立该数组,并完成以下任务:随机产生n个10~100以内的整数存入数组a中(其中n<N),并按照每行输出5个的格式,输出该数组;编制一个判定某数是否为素数的子函数prime,用该子函数判定数组中的素数,并输出这些素数。
时间: 2024-02-18 20:04:23 浏览: 74
好的,我可以帮您解决这个问题。以下是C++代码实现:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
const int N = 100;
bool prime(int x) {
if (x <= 1) return false;
for (int i = 2; i * i <= x; ++i) {
if (x % i == 0) return false;
}
return true;
}
int main() {
srand(time(0)); // 设置随机数种子
int n = rand() % (N-10) + 10; // 随机生成n的值
int a[N];
for (int i = 0; i < n; ++i) {
a[i] = rand() % 91 + 10; // 随机生成10~100的整数
}
cout << "数组a中的元素为:" << endl;
for (int i = 0; i < n; ++i) {
cout << a[i] << " ";
if ((i+1) % 5 == 0) cout << endl; // 每行输出5个数
}
if (n % 5 != 0) cout << endl;
cout << "数组a中的素数为:" << endl;
for (int i = 0; i < n; ++i) {
if (prime(a[i])) cout << a[i] << " ";
}
cout << endl;
return 0;
}
```
代码中使用rand()函数随机生成n个10~100的整数,并存储在a数组中。prime函数用于判断一个数是否为素数。最后输出a数组的所有元素,并输出其中的素数。注意每行输出5个数的格式。
阅读全文