用C语言编写一程序将100以内的素数存放到一个数组中并输出
时间: 2023-06-04 07:03:11 浏览: 302
您好!以下是该问题的解答:
```c
#include <stdio.h>
int main()
{
int prime[25];
int count = 0; // 素数的个数
int i, j;
// 枚举 2~100 的整数
for (i = 2; i <= 100; i++) {
int is_prime = 1; // 是否为素数的标志
// 试除法判断是否为素数
for (j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
// 如果是素数,则存入数组
if (is_prime) {
prime[count] = i;
count++;
}
}
// 输出素数数组
for (i = 0; i < count; i++) {
printf("%d ", prime[i]);
}
printf("\n");
return 0;
}
```
该程序先使用枚举法遍历 2~100 的整数,再对每个整数使用试除法判断是否为素数,如果是则存入数组。最后输出素数数组。
相关问题
C语言编写一程序,将100以内的素数存放到一个数组中
在C语言中,我们可以编写一个简单的程序来找出并存储100以内的素数。素数是指大于1的自然数,除了1和它本身以外不再有其他因数。以下是步骤和示例代码:
```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++) {
if (num % i == 0)
return false;
}
return true;
}
// 主函数,用于查找并储存素数
void store_primes_in_array(int primes[], int size) {
int count = 0;
for (int i = 2; i <= 100 && count < size; i++) {
if (is_prime(i))
primes[count++] = i;
}
// 如果找到了小于100的足够多的素数,填充完整个数组
while (count < size)
primes[count++] = 0; // 空位用0表示,实际应用中可以用更合适的标记
}
int main() {
int prime_array[50]; // 假设我们只需要存储50个素数(因为最多只有44个素数在100以内)
store_primes_in_array(prime_array, sizeof(prime_array) / sizeof(prime_array[0]));
// 打印数组中的素数
printf("Prime numbers below 100 are:\n");
for (int i = 0; i < sizeof(prime_array) / sizeof(prime_array[0]); i++) {
if (prime_array[i] != 0)
printf("%d ", prime_array[i]);
}
return 0;
}
```
用C语言编写一程序,将500以内的素数存放到一个数组中,然后输出该数组中的所有素数。
在C语言中,我们可以编写一个简单的程序来找出并存储500以内的所有素数。首先,我们需要创建一个数组来存放素数,并遍历从2到500之间的每个数字,检查它们是否是素数。以下是这个程序的一个基本版本:
```c
#include <stdio.h>
// 判断是否为素数的辅助函数
int is_prime(int num) {
if (num <= 1) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
// 找出并存储素数
void find_primes_in_range(int limit, int primes[], int* count) {
int prime_count = 0;
for (int i = 2; i < limit; i++) {
if (is_prime(i)) {
primes[prime_count] = i;
prime_count++;
}
}
*count = prime_count;
}
int main() {
const int max_limit = 500;
int primes[max_limit]; // 存放素数的数组
int prime_count;
find_primes_in_range(max_limit, primes, &prime_count); // 获取并存储素数
printf("素数列表:\n");
for (int i = 0; i < prime_count; i++) {
printf("%d ", primes[i]);
}
return 0;
}
```
在这个程序中,`is_prime`函数用于判断一个整数是否是素数,`find_primes_in_range`函数则负责查找并存储500以内的素数。主函数中调用这两个函数并将结果打印出来。
阅读全文