求10个数中的质数和c语言
时间: 2023-05-27 18:07:28 浏览: 56
#include <stdio.h>
int is_prime(int n) { // 判断素数函数
if (n < 2) { // 小于2的数不是素数
return 0;
}
for (int i = 2; i * i <= n; i++) { // 从2到sqrt(n)判断是否有因子
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int nums[10] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29}; // 10个数
int sum = 0; // 记录质数的和
for (int i = 0; i < 10; i++) {
if (is_prime(nums[i])) { // 判断是否为素数
sum += nums[i]; // 累加质数
}
}
printf("质数的和为:%d\n", sum);
return 0;
}
相关问题
C语言求10个数组中的素数和
以下是一个示例代码,可以求出一个包含10个整数的数组中所有的素数并求和:
```c
#include <stdio.h>
int is_prime(int n) {
if (n < 2) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int nums[10] = {3, 6, 7, 12, 14, 17, 21, 23, 29, 36};
int sum = 0;
for (int i = 0; i < 10; i++) {
if (is_prime(nums[i])) {
sum += nums[i];
}
}
printf("sum = %d\n", sum);
return 0;
}
```
在这个代码中,我们首先定义了一个 `is_prime()` 函数来判断一个数是否为素数。该函数使用了较为常见的素数判断方法,即从2开始遍历到该数的平方根,逐个判断是否能整除该数。如果能整除,则该数不是素数;否则,该数是素数。
接下来,在 `main()` 函数中,我们定义了一个包含10个整数的数组 `nums`,并初始化了其中的元素。然后,我们使用一个循环遍历数组中的每个元素,如果该元素是素数,则将其加入到变量 `sum` 中。最后,我们输出 `sum` 的值,即为数组中所有素数的和。
需要注意的是,这个示例代码中只是用了一个固定的数组来演示。实际上,如果要求解一个任意长度的数组中素数的和,也可以使用动态内存分配来实现。具体的实现方法可以参考相关资料。
C语言求两个数之间的质数和
以下是一个求两个数之间的质数和的 C 语言程序:
```c
#include <stdio.h>
int is_prime(int num) { // 判断一个数是否为质数
if (num <= 1) {
return 0;
}
for (int i = 2; i <= num / 2; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int a, b, sum = 0;
printf("请输入两个正整数:\n");
scanf("%d%d", &a, &b);
if (a > b) { // 保证 a 小于等于 b
int temp = a;
a = b;
b = temp;
}
for (int i = a; i <= b; i++) {
if (is_prime(i)) {
sum += i;
}
}
printf("两数之间的质数和为:%d\n", sum);
return 0;
}
```
运行程序后,输入两个正整数,程序会输出它们之间所有质数的和。