c版将1-100放在数组中,并求100以内素数并输出
时间: 2023-09-07 14:13:14 浏览: 107
下面是用C语言实现的求100以内素数的代码:
```c
#include <stdio.h>
int main()
{
int nums[100];
int i, j;
// 将1-100放入数组中
for (i = 0; i < 100; i++) {
nums[i] = i + 1;
}
// 筛选素数
for (i = 1; i < 100; i++) {
if (nums[i] == 0) continue; // 已经筛掉了
for (j = i + 1; j < 100; j++) {
if (nums[j] == 0) continue; // 已经筛掉了
if (nums[j] % nums[i] == 0) {
nums[j] = 0; // 筛掉
}
}
}
// 输出素数
for (i = 0; i < 100; i++) {
if (nums[i] != 0) {
printf("%d ", nums[i]);
}
}
return 0;
}
```
首先将1-100放入数组中,然后用筛法求素数,最后输出筛选出的素数。筛法的思想是从小到大枚举每个数,如果它是素数,则将它的倍数全部筛掉。这样一直筛下去,最后留下的就是素数了。
相关问题
编写c语言程序将1-100存放在数组中,并以100以内的素数并输出。
编写C语言程序,首先需要创建一个动态数组来存储从1到100的整数,然后检查每个数字是否为素数。素数是指只有1和它本身能够整除的正整数。以下是实现这个功能的一个简单示例:
```c
#include <stdio.h>
#include <stdbool.h> // 引入bool类型
// 判断一个数是否为素数的函数
bool is_prime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i * i <= num; i++) { // 只需检查到其平方根即可
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int array[100]; // 创建一个长度为100的数组
int count = 0; // 记录素数的数量
for (int i = 1; i <= 100; i++) {
array[count] = i; // 将每个数添加到数组中
if (is_prime(i)) { // 如果该数是素数
printf("%d ", i); // 输出素数
count++; // 素数计数加一
}
}
printf("\n");
return 0;
}
```
当你运行这个程序,它会输出1到100之间的所有素数。
编写c语言程序将1-100存放在数组中,并以100以内的素数并输出。简单点
在C语言中,你可以通过编写一个函数来判断一个数是否是素数,然后遍历数组,检查每个元素是否是素数,如果是就将其打印出来。以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断是否为素数的辅助函数
bool is_prime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) { // 只需要检查到根号n
if (num % i == 0)
return false;
}
return true;
}
int main() {
int arr[100] = {0}; // 初始化数组
int count = 0;
// 从1填充数组,同时检查是否为素数
for (int i = 1; i <= 100; i++, count++) {
arr[count] = i;
if (is_prime(i)) {
printf("%d ", i); // 输出素数
}
}
printf("\n");
return 0;
}
```
这个程序首先初始化一个长度为100的数组,然后逐个将数字放入数组。对于每个数字,它会调用`is_prime`函数检查是否为素数。如果找到素数,就将其打印出来。
阅读全文