用c语言找出1-100之间的质数程序
时间: 2024-12-18 11:37:49 浏览: 13
在C语言中,寻找1到100之间的所有质数可以使用经典的“埃拉托斯特尼筛法”(Sieve of Eratosthenes)。这个算法通过依次排除能被已知质数整除的所有数字来找到剩余的质数。
以下是简单实现的C代码:
```c
#include <stdio.h>
// 判断是否为质数
int isPrime(int num) {
if (num <= 1) return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return 0;
}
return 1;
}
void findPrimes(int n) {
int primes[n+1]; // 初始化一个大小为n+1的布尔数组,primes[i]表示i是否为质数
for (int i = 2; i <= n; i++) {
primes[i] = 1; // 假设每个数都是质数
}
for (int p = 2; p*p <= n; p++) { // 遍历到√n
if (primes[p]) { // 如果p是质数
for (int i = p*p; i <= n; i += p) {
primes[i] = 0; // 将p的倍数标记为非质数
}
}
}
// 打印质数
for (int i = 2; i <= n; i++) {
if (primes[i]) printf("%d ", i);
}
}
int main() {
findPrimes(100); // 寻找1到100之间的质数
return 0;
}
阅读全文