第八章 指针及其应用 159 例8.10

2020-01-01  本文已影响0人  壹顾倾城

编写一个函数,用于在N个整 数中找第一个素数,找到返回地址,没有返回NULL(空指针)

/********************************
 * 程序来源:董老师一本通
 * 程序名称:159 8.10
 * 章    节:8.3 函数指针
 * 描    述:编写一个函数,用于在N个整
 *           数中找第一个素数,找到返回
 *           地址,没有返回NULL(空指针) 
 * 作    者:tiaya@qq.com
 * 运行测试:通过
 *******************************/
//#include <bits/stdc++.h>  //万能头文件,不建议使用
#include <iostream>
#include <cmath>     // sqrt
using namespace std;
int n, a[10001];       //定义一个数组 

//fun prime
bool isPrime(int n) {
    if (n < 2) return false;   // 1 is not prime
    if (n == 2) return true;    // 2 is a prime
    for (int i=2; i <= sqrt(n); i++) {   // n>2
        if(n % i == 0)
            return false;
    }
    return true;
} 

//fun find prime 
int* find() {     
    // n is gloab var
    for(int i=1; i<=n; i++)     
        if (isPrime(a[i])) 
            return &a[i];
    return NULL;

}

//main() star
int main() {
    //code here
    scanf("%d", &n);
    for(int i=1; i<=n; i++) {
        scanf("%d", &a[i]);    //&a[i]
    }
    
    int *p = find();
    cout << p;
    if(p != NULL) {
        printf("%d,%d\n",p, *p);
    } else {
        printf("can't find!'");
    }
    return 0;
}

测试:
输入数据:

7
1 6
9
2
3
4
5

输出数据:

0x4ac0904898960,2

--------------------------------
Process exited after 8.487 seconds with return value 0
请按任意键继续. . .

上一篇 下一篇

猜你喜欢

热点阅读