C语言输出100到200的素数主函数怎么写
时间: 2023-10-19 07:07:27 浏览: 34
可以直接修改上面的程序,让它输出 100 到 200 之间的素数。修改后的程序如下:
```c
#include <stdio.h>
#include <stdbool.h>
bool isPrime(int n) {
if (n < 2) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
printf("2 ");
for (int i = 3; i <= 200; i += 2) {
if (isPrime(i)) {
printf("%d ", i);
}
}
return 0;
}
```
这个程序和之前的程序类似,只是修改了主函数中的循环条件,让它只输出 100 到 200 之间的奇数,并且修改了输出的范围。需要注意的是,修改了循环条件之后,程序需要重新判断 2 是否为素数,因此在主函数中先输出 2。
相关问题
c语言输出100到200素数
在C语言中,有多种方法可以输出100到200之间的素数。以下是其中几种方法:
1. 第一种方法使用两个for循环,外层循环从100到200,内层循环从2到当前数的前一个数,判断当前数是否能被内层循环中的数整除,如果可以则跳出内层循环,否则输出当前数。这种方法的时间复杂度为O(n^2)。
2. 第二种方法定义一个函数panduan,用于判断一个数是否为素数。在主函数中使用for循环从100到200,每次调用panduan函数判断当前数是否为素数,如果是则输出。这种方法的时间复杂度为O(n*sqrt(n))。
3. 第三种方法使用一个for循环和一个while循环,外层循环从100到200,内层循环从2到当前数的平方根,判断当前数是否能被内层循环中的数整除,如果可以则跳出内层循环,否则输出当前数。这种方法的时间复杂度为O(n*sqrt(n))。
4. 第四种方法和第一种方法类似,使用两个for循环,外层循环从100到200,内层循环从2到当前数,判断当前数是否能被内层循环中的数整除,如果可以则跳出内层循环,否则输出当前数。这种方法的时间复杂度为O(n^2)。
其中第二种和第三种方法的时间复杂度较低,建议使用这两种方法。
用c语言输出100-200之间所有的素数。
以下是使用C语言输出100-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() {
printf("100-200之间的素数有:\n");
for (int i = 100; i <= 200; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
该代码中,使用函数`is_prime()`判断一个数是否为素数。如果该数小于等于1,则不是素数;如果该数可以被2到该数平方根之间的任何一个数整除,则不是素数;否则就是素数。在主函数中,循环遍历100到200之间的所有整数,如果某个数是素数,则将其输出。