用c++写程序:输入10个整数存入数组,将数组中的素数存入另一个数组中.并遍历素数数组。
时间: 2023-03-14 10:08:46 浏览: 157
可以使用以下C语言代码:#include<stdio.h>
int main(){
int arr[10];
int prime[10];
int i,j,k=0;
printf("请输入10个整数:");
for(i=0;i<10;i++)
scanf("%d",&arr[i]);for(i=2;i<10;i++){
for(j=2;j<=i/2;j++){
if(i%j==0)
break;
}
if(j>(i/2)){
prime[k]=i;
k++;
}
}printf("素数数组:");
for(i=0;i<k;i++){
printf("%d ",prime[i]);
}
printf("\n");
return 0;
}
相关问题
用c++写 【题目描述】 两个相差为2的素数称为素数对,如5和7,17和19等,本题目要求找出所有两个数均不大于n的素数对。 【输入】 一个正整数n(1≤n≤10000)。 【输出】 所有小于等于n的素数对。每对素数对输出一行,中间用单个空格隔开。若没有找到任何素数对,输出empty。
以下是使用C++编写的解答:
```cpp
#include <iostream>
#include <vector>
using namespace std;
// 判断是否为素数
bool isPrime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
cin >> n;
vector<pair<int, int>> primePairs;
for (int i = 2; i <= n - 2; i++) {
if (isPrime(i) && isPrime(i + 2)) {
primePairs.push_back(make_pair(i, i + 2));
}
}
if (primePairs.empty()) {
cout << "empty" << endl;
} else {
for (const auto& pair : primePairs) {
cout << pair.first << " " << pair.second << endl;
}
}
return 0;
}
```
这段代码首先定义了一个函数`isPrime`用于判断一个数是否为素数。然后,通过输入一个正整数n,遍历从2到n-2的每个数,判断其是否为素数,并且与其相差2的数也是素数,如果是,则将这对素数存入`primePairs`数组中。最后,根据`primePairs`数组的情况进行输出。
注意:在C++中,我们使用`pair`和`vector`来存储素数对。`pair`是一个可以存储两个值的数据结构,而`vector`是一个动态数组,可以用来存储多个素数对。
/*请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非
素数即指在大于1的自然数中,除了1和本身外没有其他因子的数。要求编写一个函数fun,功能是将所有大于1小于整数m的非素数存入xx所指数组中。
首先,我们可以编写一个判断素数的函数isPrime,该函数判断一个数是否为素数。然后,我们可以使用循环从2开始遍历到m-1,判断每个数是否为素数,如果不是素数,则将其存入xx所指数组中。
下面是具体的函数实现:
```c++
#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int num) {
if (num < 2) return false;
for (int i = 2; i <= sqrt(num); i++) {
if (num % i == 0) return false;
}
return true;
}
void fun(int* xx, int m) {
int count = 0;
for (int i = 2; i < m; i++) {
if (!isPrime(i)) {
xx[count++] = i;
}
}
}
int main() {
int m = 20; // 假设m为20
int xx[100] = {0}; // 假设数组长度为100
fun(xx, m);
for (int i = 0; i < 100; i++) {
if (xx[i] != 0) {
cout << xx[i] << " ";
}
}
return 0;
}
```
上述代码中,我们假设整数m为20,并假设存储非素数的数组长度为100。函数fun将所有大于1小于整数m的非素数存入xx所指数组中,并使用循环打印出非素数数组的内容。运行结果为:4 6 8 9 10 12 14 15 16 18。
阅读全文