使用C语言编写一个代码:使用指针的方法求100以内的素数
时间: 2024-03-25 20:38:50 浏览: 20
好的,下面是使用指针的C语言代码实现:
```
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>
int main() {
bool* isPrime = (bool*)malloc(sizeof(bool) * 100);
int i, j;
for (i = 2; i < 100; i++) {
*(isPrime + i) = true;
}
for (i = 2; i <= sqrt(100); i++) {
if (*(isPrime + i)) {
for (j = i * i; j < 100; j += i) {
*(isPrime + j) = false;
}
}
}
for (i = 2; i < 100; i++) {
if (*(isPrime + i)) {
printf("%d ", i);
}
}
free(isPrime);
return 0;
}
```
该代码的思路与上一个回答基本一致,只不过使用了指针来访问数组元素。
相关问题
用c语言写一个代码:打印100-200之间的素数
当然可以!以下是一个使用C语言编写的打印100-200之间的素数的代码示例:
```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;
}
int main() {
printf("Prime numbers between 100 and 200 are:\n");
for (int i = 100; i <= 200; i++) {
if (isPrime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
这段代码定义了一个 `isPrime` 函数,用于判断一个数是否为素数。然后在 `main` 函数中,从100到200遍历整数,对每个数调用 `isPrime` 函数来判断是否为素数,并进行打印输出。运行该代码会输出100-200之间的素数。
c语言编写一段程序:用筛选法求100之内的素数
```
#include <stdio.h>
int main() {
int i, j, prime[101] = {0}, count = 0;
// 筛选法求素数
for (i = 2; i <= 100; i++) {
if (prime[i] == 0) {
count++;
for (j = i * i; j <= 100; j += i) {
prime[j] = 1;
}
}
}
// 输出素数
printf("100以内的素数有:\n");
for (i = 2; i <= 100; i++) {
if (prime[i] == 0) {
printf("%d ", i);
}
}
printf("\n共有%d个素数\n", count);
return 0;
}
```