c 语言 编写程序,将2~50之间的素数存放在一维数组中,输出该数组。用 sqrt
时间: 2023-12-03 12:42:22 浏览: 92
以下是使用 sqrt 函数判断素数并存储到一维数组中的 C 语言程序:
```c
#include <stdio.h>
#include <math.h>
int main() {
int primes[50] = {0}; // 初始化数组,所有元素都为0
int count = 0; // 记录素数的个数
for (int i = 2; i <= 50; i++) {
int is_prime = 1; // 标记i是否为素数,默认为是
// 判断i是否为素数
for (int j = 2; j <= sqrt(i); j++) {
if (i % j == 0) {
is_prime = 0; // i能被j整除,不是素数
break;
}
}
if (is_prime) {
primes[count++] = i; // 将i存入数组,并将素数个数加1
}
}
// 输出素数数组
printf("2~50之间的素数:");
for (int i = 0; i < count; i++) {
printf("%d ", primes[i]);
}
printf("\n");
return 0;
}
```
该程序使用两层循环,外层循环遍历2~50之间的数字,内层循环判断该数字是否为素数。内层循环中,使用 sqrt 函数计算数字的平方根,从而减少循环次数,提高程序效率。如果数字是素数,则将其存储到一维数组中,并将素数个数加1。最后输出素数数组中的元素。
阅读全文