用c语言用数组方法输出2~100范围内的所有素数
时间: 2024-05-22 11:14:08 浏览: 13
好的,这是一个关于c语言数组的问题,我可以回答。下面是一个用数组方法输出2~100范围内所有素数的c语言代码:
#include <stdio.h>
int main()
{
int i, j, flag;
int prime[50] = {0}; // 初始化数组,默认所有元素都为0
int count = 0;
for (i = 2; i <= 100; i++)
{
flag = 1; // 假设i是素数
for (j = 2; j <= i / 2; j++)
{
if (i % j == 0)
{
flag = 0; // i不是素数
break;
}
}
if (flag == 1)
{
prime[count] = i; // 将找到的素数存入数组
count++;
}
}
printf("2~100范围内的素数为:\n");
for (i = 0; prime[i] != 0; i++)
{
printf("%d, ", prime[i]);
}
return 0;
}
希望这个代码能够帮到您!
相关问题
在c语言中用数组方法求出2到100范围内的所有素数
好的,我来为您解答。以下是在 C 语言中使用筛法求解 2 到 100 范围内的所有素数的代码:
```
#include <stdio.h>
int main() {
int n = 100;
int prime[n+1];
int i, j;
// 初始化数组 prime[] 中的所有元素为 1,表示都是素数
for (i = 2; i <= n; i++)
prime[i] = 1;
// 使用筛法,将不是素数的数的值置为 0
for (i = 2; i*i <= n; i++) {
if (prime[i]) {
for (j = i*i; j <= n; j += i)
prime[j] = 0;
}
}
// 输出所有素数
for (i = 2; i <= n; i++) {
if (prime[i])
printf("%d ", i);
}
return 0;
}
```
在这个程序中,我们首先声明了一个长度为 n+1 的布尔数组 prime,其中 prime[i] 表示数字 i 是否为素数。将 prime 数组中的所有元素初始化为 1。然后,我们使用筛法算法,将不是素数的数的值置为 0。最后,我们遍历整个数组 prime,输出所有值为 1 的元素,即为素数。
希望这个回答能解决您的问题!
用c语言编程 编与程序实现,将1~100存放在数组中,并求100之内的素数并输出
好的,以下是用C语言编写的程序,实现将1~100存放在数组中,并求100以内的素数并输出的功能。
```c
#include <stdio.h>
#define N 100
int main() {
int i, j, flag;
int arr[N];
// 将1~100存放在数组中
for(i = 0; i < N; i++) {
arr[i] = i+1;
}
// 求100以内的素数并输出
printf("100以内的素数为:\n");
for(i = 0; i < N; i++) {
flag = 1; // 假设arr[i]是素数
for(j = 2; j <= arr[i] / 2; j++) {
if(arr[i] % j == 0) {
flag = 0; // arr[i]不是素数
break;
}
}
if(flag && arr[i] != 1) {
printf("%d ", arr[i]);
}
}
printf("\n");
return 0;
}
```
这段代码中,我们首先定义了一个大小为100的整型数组`arr`,并将1~100存放在其中。然后,我们使用双重循环判断每个数是否为素数,如果是素数则输出。具体来说,我们先假设`arr[i]`是素数,然后在`2~arr[i]/2`的范围内判断是否有能整除`arr[i]`的数,如果有则将`flag`标记为0,表示`arr[i]`不是素数。最后,如果`flag`值为1且`arr[i]`不为1,则输出`arr[i]`,即表示`arr[i]`是素数。
运行上述代码,将会输出100以内的素数:
```
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
```