用C语言编写定义一个有10个元素的数组,存放10个整数,求其中素数的个数
时间: 2023-06-02 17:07:56 浏览: 95
您好!这是一个关于编程的问题。以下是一个可用的解决方案:
```c
#include <stdio.h>
#include <math.h>
int is_prime(int n) {
if (n <= 1) {
return 0;
} else if (n == 2) {
return 1;
} else {
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
}
int main() {
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int count = 0;
for (int i = 0; i < 10; i++) {
if (is_prime(arr[i])) {
count++;
}
}
printf("There are %d prime numbers in the array.\n", count);
return 0;
}
```
这个程序使用了一个 `is_prime` 函数来判断整数是否为素数。然后遍历数组中的每一个元素,统计素数的数量。最后输出素数的数量。
相关问题
编写程序:在一个数组 A 中存放100个数据,用子西数判断该数组中哪些是素数,并统计该素数的个数,在主西数中输出该素数的个数。用C语言编写
下面是用C语言编写的程序,用于判断一个数组中有多少个素数:
```c
#include <stdio.h>
// 判断是否为素数
int isPrime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i <= n / 2; ++i) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int A[100];
int count = 0; // 记录素数个数
// 随机生成100个数,并输出
printf("数组A中的元素为:");
for (int i = 0; i < 100; ++i) {
A[i] = rand() % 1000;
printf("%d ", A[i]);
}
printf("\n");
// 判断素数个数并输出
for (int i = 0; i < 100; ++i) {
if (isPrime(A[i])) {
count++;
}
}
printf("数组A中素数的个数为:%d\n", count);
return 0;
}
```
首先,在主函数中声明了一个长度为100的整型数组A,并随机生成了100个随机数并输出。
然后,定义了一个名为`isPrime()`的函数,用于判断一个整数是否为素数。在该函数中,如果该数小于等于1,则不是素数;如果该数可以被2到n/2之间的某个数整除,则不是素数;否则就是素数。
最后,在主函数中遍历数组A,对于每一个元素使用`isPrime()`函数进行判断,如果是素数则将素数个数加1。遍历结束后,输出素数的个数即可。
用C语言编写一程序将100以内的素数存放到一个数组中并输出
您好!以下是该问题的解答:
```c
#include <stdio.h>
int main()
{
int prime[25];
int count = 0; // 素数的个数
int i, j;
// 枚举 2~100 的整数
for (i = 2; i <= 100; i++) {
int is_prime = 1; // 是否为素数的标志
// 试除法判断是否为素数
for (j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
// 如果是素数,则存入数组
if (is_prime) {
prime[count] = i;
count++;
}
}
// 输出素数数组
for (i = 0; i < count; i++) {
printf("%d ", prime[i]);
}
printf("\n");
return 0;
}
```
该程序先使用枚举法遍历 2~100 的整数,再对每个整数使用试除法判断是否为素数,如果是则存入数组。最后输出素数数组。
阅读全文