#include <stdio.h>
int isPrime(int num) {
if (num < 2) {
return 0; // 小于 2 的数不是素数
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int num, sum = 0;
scanf("%d", &num);
while (num!= 1) {
if (isPrime(num)) {
sum += num;
}
scanf("%d", &num);
}
printf("%d\n", sum);
return 0;
}
以下是对这段 C 语言代码的分析:
一、功能描述
这段代码用于计算输入的一系列整数中所有素数的和,直到输入的数为 1 时停止计算并输出结果。
二、函数部分
1. isPrime 函数:
- 功能:判断一个整数是否为素数。
- 实现方式:
- 首先判断输入的数是否小于 2,小于 2 的数不是素数,直接返回 0。
- 然后从 2 开始遍历到该数的平方根,如果在这个范围内存在一个数能整除输入的数,说明该数不是素数,返回 0。
- 如果遍历完都没有找到能整除的数,说明该数是素数,返回 1。
三、主函数部分
1. 变量定义:
- int num 用于存储用户输入的整数。
- int sum = 0 用于累加输入的素数。
2. 获取输入并循环判断:
- 通过 scanf("%d", &num); 获取第一个输入的整数。
- 进入 while (num!= 1) 循环,只要输入的数不为 1,循环就会继续。
- 在循环中,调用 isPrime(num) 函数判断当前输入的数是否为素数,如果是素数,则将该数累加到 sum 中。
- 再次通过 scanf("%d", &num); 获取下一个输入的整数,继续循环判断。
3. 输出结果:
- 循环结束后,输出 sum 的值,即输入的所有素数的和。
标签:语言,int,sum,素数,num,计算,该数,输入 From: https://blog.csdn.net/2401_87723168/article/details/143633942