c语言中用指针求1到100的质数

如题所述

下面是一个用指针求1到100的质数的C语言代码示例:
#include <stdio.h>
int main()
{
int i, j;
int is_prime;
int primes[100];
int *p = primes;
for (i = 2; i <= 100; i++) {
is_prime = 1;
for (j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
if (is_prime) {
*p = i;
p++;
}
}
printf("1到100的质数为:\n");
for (i = 0; i < p - primes; i++) {
printf("%d ", primes[i]);
}
printf("\n");
return 0;
}
在上述代码中,我们首先定义了一个 int 类型的数组 primes,这个数组用来存储找到的所有质数。然后我们定义了一个指针 p,初始时指向数组 primes 的首元素。
接着我们使用两个嵌套的循环,从2到100枚举每个数字,判断它是否为质数。如果是质数,就将它添加到数组 primes 中,并将指针 p 向后移动一个位置,以便下一次添加新的质数。
最后,我们遍历数组 primes,输出其中的所有元素,即所有1到100的质数。
温馨提示:答案为网友推荐,仅供参考
相似回答