用C语言,输出 2 到 200 之间,包括 2~200 的所有素数。注:要求 1 行 1 个素数,按由小到大的顺序输出。
时间: 2024-03-24 15:35:37 浏览: 56
好的,这是一个比较经典的问题。以下是 C 语言的代码实现:
```c
#include <stdio.h>
int main() {
int i, j, is_prime;
for (i = 2; i <= 200; i++) {
is_prime = 1;
for (j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
if (is_prime) {
printf("%d ", i);
}
}
return 0;
}
```
这段代码中,我们使用了两个 for 循环,其中第一个循环用于遍历 2 到 200 之间的所有整数,第二个循环用于判断当前的整数是否为素数。如果一个数可以被除了 1 和自身以外的整数整除,那么它就不是素数。如果一个数不能被除了 1 和自身以外的整数整除,那么它就是素数。最后,我们使用 printf 函数输出所有的素数。
相关问题
编程打印 2 ~ 170 之间的所有素数。要求每行输出 13 个素数。用c语言编写。
在C语言中,我们可以使用循环和条件判断来实现这个功能。首先,我们需要定义一个函数来检查一个数是否是素数。然后,我们将遍历从2到170的每个数,并按照每行输出13个素数的要求打印。以下是完整的代码:
```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 print_primes(int start, int end, int count_per_line) {
int current_count = 0;
for (int i = start; i <= end; i++) {
if (is_prime(i)) {
printf("%d ", i);
current_count++;
if (current_count % count_per_line == 0) {
printf("\n");
current_count = 0; // 每行结束换行
}
}
}
if (current_count > 0) { // 如果最后一行不满13个数字,补空格直到满一行
while (current_count < count_per_line) {
printf(" ");
current_count++;
}
printf("\n");
}
}
int main() {
int start = 2, end = 170, count_per_line = 13;
print_primes(start, end, count_per_line);
return 0;
}
```
运行此程序,它将打印出2到170之间,每行13个素数的结果。
用C语言写:判断101到200之间有多少个素数,并输出所有素数。
在C语言中,我们可以使用经典的"埃拉托斯特尼筛法"来找出给定范围内的素数。首先,我们需要编写一个函数来检查一个数字是否为素数,然后遍历101到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 main() {
int start = 101, end = 200;
printf("Number of prime numbers between %d and %d: ", start, end);
// 输出所有素数
for (int i = start; i <= end; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
这个程序会输出101到200之间的所有素数。注意,因为这里我们只关心101到200,所以不需要特别处理边界情况。
阅读全文