使用指针的方法求100的素数【要求】 (1)先在数组中保存1-100的所有整数(2)使用指针的方式对数组中非素数剔除 用c语言
时间: 2024-03-18 22:40:10 浏览: 65
100个经典例题(C语言)-共63页.pdf
以下是使用指针的方法求100以内的素数的代码:
```c
#include <stdio.h>
int main() {
int nums[100], i, j;
int *p = nums;
for (i = 0; i < 100; i++) {
*(p + i) = i + 1; //数组中保存1-100的所有整数
}
for (i = 1; i < 100; i++) {
if (*(p + i) != -1) { //已经被筛掉的数跳过
for (j = i + 1; j < 100; j++) {
if (*(p + j) % *(p + i) == 0) { //把i的倍数剔除
*(p + j) = -1; //标记为已经被剔除
}
}
}
}
printf("100以内的素数有:\n");
for (i = 0; i < 100; i++) {
if (*(p + i) != -1 && *(p + i) != 1) { //输出未被剔除的数即为素数
printf("%d ", *(p + i));
}
}
return 0;
}
```
运行结果为:
```
100以内的素数有:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
```
阅读全文