C语言把200以内的所有素数存放到一维数组中并输出
时间: 2023-11-26 08:57:54 浏览: 56
好的,我可以为您提供C语言代码实现这个问题:
```c
#include <stdio.h>
#include <stdbool.h>
bool isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i*i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int primeNumbers[50];
int index = 0;
for (int i = 2; i <= 200; i++) {
if (isPrime(i)) {
primeNumbers[index] = i;
index++;
}
}
for (int i = 0; i < index; i++) {
printf("%d ", primeNumbers[i]);
}
printf("\n");
return 0;
}
```
这个程序会将200以内的所有素数存储在名为primeNumbers的一维数组中,并将它们输出到屏幕上。
相关问题
c语言把200以内的素数存放到一维数组中输出
在C语言中,我们可以创建一个函数来检查数字是否为素数,然后遍历200以内的所有数字并将素数存储到一维数组中。最后,我们再遍历这个数组并打印出所有的素数。以下是简单的步骤:
```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;
}
// 存储素数的数组和其长度
int primes[100]; // 我们假设最多200以内有99个素数
int prime_count = 0;
// 主函数
void store_and_print_primes() {
for (int i = 2; i <= 200; i++) { // 从2开始,因为1不是素数
if (is_prime(i)) {
primes[prime_count] = i;
prime_count++;
}
}
// 输出存储的素数
printf("200以内的素数存放在数组中:\n");
for (int j = 0; j < prime_count; j++) {
printf("%d ", primes[j]);
}
printf("\n");
}
int main() {
store_and_print_primes();
return 0;
}
```
c语言把200以内的所有素数存放到一维数组中并输出
下面是一个实现将200以内的所有素数存放到一维数组中并输出的C语言代码:
```c
#include <stdio.h>
int main() {
int prime[50] = {0}; // 一维数组用于存放素数
int i, j, flag, cnt = 0;
// 判断2~200之间的整数是否为素数
for (i = 2; i <= 200; i++) {
flag = 1; // 假设当前数是素数
for (j = 2; j <= i / 2; j++) {
if (i % j == 0) {
flag = 0; // 如果存在一个因子,那么当前数不是素数
break;
}
}
if (flag == 1) {
prime[cnt] = i; // 将素数存入数组
cnt++; // 记录素数数量
}
}
// 输出素数数组中的元素
for (i = 0; i < cnt; i++) {
printf("%d ", prime[i]);
}
return 0;
}
```
输出结果如下:
```
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 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
```
注:该算法实现的效率不高,只是为了简单实现题目要求。实际开发中可以使用更高效的算法实现。
阅读全文