下面是一个C语言程序示例,用于计算100以内所有素数的和:
#include <stdio.h>
#include <stdbool.h>
// 函数声明: 判断一个数是否为素数
bool isPrime(int num);
int main() {
int sum = 0; // 存储素数之和的变量
// 检查100以内的所有数是否为素数
for (int i = 2; i < 100; ++i) {
if (isPrime(i)) {
sum += i; // 如果是素数,加到求和变量中
}
}
// 输出100以内所有素数的和
printf("The sum of all prime numbers under 100 is: %d\n", sum);
return 0;
}
// 函数定义: 判断一个数是否为素数
bool isPrime(int num) {
if (num <= 1) return false; // 小于等于1的数都不是素数
if (num <= 3) return true; // 2和3是最小的素数
// 排除能被2或3整除的数
if (num % 2 == 0 || num % 3 == 0) return false;
// 测试是否能被大于3的数整除
for (int i = 5; i * i <= num; i += 6) {
if (num % i == 0 || num % (i + 2) == 0) return false;
}
return true; // 如果没有找到因子,则该数是素数
}
这个程序首先包含了<stdio.h>
和<stdbool.h>
头文件,其中<stdbool.h>
用于支持布尔类型。然后,程序定义了一个名为isPrime
的函数来检查一个数是否为素数。在main
函数中,使用了一个for循环来遍历2到99的所有整数,并使用isPrime
函数检查每个数是否为素数。如果是素数,就将其加到sum
变量中。最后,程序使用printf
函数输出100以内所有素数的和。
这个程序简洁明了,可以直接复制到C或C++编译器中进行编译和执行。