用c语言编写程序,从键盘上输入10个正整数存入一维数组中,求其中所有的素数之和并输出。
时间: 2023-06-12 11:05:36 浏览: 201
二维数组的表示形式数组名[下标][下标]-c语言数组详解
下面是一个用C语言编写的程序,可以实现从键盘上输入10个正整数存入一维数组中,求其中所有的素数之和并输出。
```c
#include <stdio.h>
int is_prime(int n) { // 判断是否为素数
if (n <= 1) {
return 0; // 不是素数
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0; // 不是素数
}
}
return 1; // 是素数
}
int main() {
int arr[10];
int sum = 0;
printf("请输入10个正整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
for (int i = 0; i < 10; i++) {
if (is_prime(arr[i])) {
sum += arr[i];
}
}
printf("所有素数之和为:%d\n", sum);
return 0;
}
```
程序中定义了一个函数 `is_prime`,用于判断一个数是否为素数。接下来在 `main` 函数中,首先定义一个长度为10的一维数组 `arr`,用于存储输入的10个正整数。然后通过循环从键盘上输入这10个正整数。接着再通过循环遍历这个数组,如果当前数组元素是素数,则将其加到变量 `sum` 中。最后输出所有素数之和。
阅读全文