solution.md 1.9 KB
Newer Older
每日一练社区's avatar
每日一练社区 已提交
1 2 3 4
# 编写程序:判断素数的个数

<p>在一个数组A中存放100个数据&#xff0c;用子函数判断该数组中哪些是素数&#xff0c;并统计该素数的个数&#xff0c;在主函数中输出该素数的个数</p>

5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
以下程序实现了这一功能,请你填补空白处内容:

```cpp
#include <stdio.h>
#include <stdlib.h>
int isPrime(int n)
{
    int i;
    if (n < 2)
        return 0;
    _______________
    return 1;
}
int CountPrime(int a[], int size)
{
    int i = 0, count = 0;
    for (i = 0; i < size; i++)
    {
        if (isPrime(a[i]))
        {
            printf("%d ", a[i]);
            count++;
            if (count % 10 == 0)
                printf("\n");
        }
    }
    printf("\n");
    return count;
}
int main()
{
    int a[100], i, count = 0;
    for (i = 0; i < 100; i++)
        a[i] = rand() % 1000;
    printf("素数的个数:%d\n", CountPrime(a, 100));
    return 0;
}
```

每日一练社区's avatar
每日一练社区 已提交
44 45 46 47 48 49 50
## template

```cpp
#include <stdio.h>
#include <stdlib.h>
int isPrime(int n)
{
51 52 53 54 55 56 57 58 59
    int i;
    if (n < 2)
        return 0;
    for (i = 2; i * i <= n; ++i)
    {
        if (n % i == 0)
            return 0;
    }
    return 1;
每日一练社区's avatar
每日一练社区 已提交
60
}
61
int CountPrime(int a[], int size)
每日一练社区's avatar
每日一练社区 已提交
62
{
63 64 65 66 67 68 69 70 71 72 73 74 75
    int i = 0, count = 0;
    for (i = 0; i < size; i++)
    {
        if (isPrime(a[i]))
        {
            printf("%d ", a[i]);
            count++;
            if (count % 10 == 0)
                printf("\n");
        }
    }
    printf("\n");
    return count;
每日一练社区's avatar
每日一练社区 已提交
76 77 78
}
int main()
{
79 80 81 82 83
    int a[100], i, count = 0;
    for (i = 0; i < 100; i++)
        a[i] = rand() % 1000;
    printf("素数的个数:%d\n", CountPrime(a, 100));
    return 0;
每日一练社区's avatar
每日一练社区 已提交
84 85 86 87 88 89
}
```

## 答案

```cpp
90 91 92 93 94
for (i = 2; i * i <= n; ++i)
{
	if (n % i == 0)
		return 0;
}
每日一练社区's avatar
每日一练社区 已提交
95 96 97 98 99 100 101
```

## 选项

### A

```cpp
102 103 104 105 106
for (i = 2; i <= n; ++i)
{
	if (n % i == 0)
		return 0;
}
每日一练社区's avatar
每日一练社区 已提交
107 108 109 110 111
```

### B

```cpp
112 113 114 115 116
for (i = 2; i * i <= n; ++i)
{
	if (n % i == 0)
		return 1;
}
每日一练社区's avatar
每日一练社区 已提交
117 118 119 120 121
```

### C

```cpp
122 123 124 125 126
for (i = 2; i * i <= n; ++i)
{
	if (n / i == 0)
		return 0;
}
每日一练社区's avatar
每日一练社区 已提交
127
```