有关c++指针与数组,求素数个数

设计程序输出一维数组中值为素数的元素,具体要求如下:

(1)定义函数bool prime(int n),判断整数n是否为素数。

bool prime(int n); // n是素数返回真,否则返回假

(2)定义函数print按每行5个元素的方式输出一维数组中值为素数的元素。

void print(int *p ,int n); /指针p传递一维数组,n传递一维数组元素个数/

(3)在主函数中定义一维数组,并初始化,通过调用上述函数实现程序功能。


#include<iostream>
using namespace std;
bool prime(int n)
{
    int count = 0;
    for (int i = 2; i < n; i++)
        if (n % i == 0)
            count++;
    if (count == 0)
        return true;
    return false;
}
void print(int* p, int n)
{
    int cnt = 0;
    for (int i=0; i<20; i++)
    {
        if (prime(*(p+i)))
        {
            printf("%d\t", *(p+i));
            cnt++;
        }
        if (cnt % 5 == 0)
            printf("\n");
    }
}
int main()
{
    int arr[20] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
    print(arr, 20);
    return 0;
}