C语言用while循环输出1到100的素数表
时间: 2024-10-23 19:03:36 浏览: 36
在C语言中,使用while循环输出1到100的素数,同样需要用到`is_prime`函数来判断数字是否为素数。下面是对应的代码:
```c
#include <stdio.h>
// 判断是否为素数
int is_prime(int num) {
if (num <= 1)
return 0;
int i = 2;
while (i * i <= num) { // 只需检查到根号数
if (num % i == 0)
return 0;
i++;
}
return 1;
}
int main() {
int num = 1;
printf("素数表 (1 to 100):\n");
// 使用while循环遍历1到100
while (num <= 100) {
if (is_prime(num)) {
printf("%d ", num);
}
num++;
}
printf("\n");
return 0;
}
```
在这个例子中,我们通过while循环不断递增`num`的值,只要`num`在范围内并且是素数,就将其打印出来。
相关问题
c语言用while循环体找素数
C语言可以使用while循环来找素数。素数是只能被1和自身整除的数,因此可以通过循环判断一个数是否只能被1和自身整除来判断它是否为素数。具体实现可以使用while循环,从2开始逐个判断每个数是否为素数,如果是素数则输出。代码如下:
```c
#include <stdio.h>
int main() {
int n = 2;
while (n <= 100) {
int i = 2;
int is_prime = 1;
while (i < n) {
if (n % i == 0) {
is_prime = 0;
break;
}
i++;
}
if (is_prime) {
printf("%d ", n);
}
n++;
}
return 0;
}
```
该代码中,外层while循环从2开始逐个判断每个数是否为素数,内层while循环用于判断一个数是否为素数。如果一个数能被2到n-1之间的任意一个数整除,则它不是素数,将is_prime标记为0,跳出内层循环。如果is_prime为1,则说明该数是素数,输出。
用while循环求1-100质数C语言
在C语言中,你可以使用while循环结合一些条件判断来找出1到100之间的质数。以下是简单的示例代码:
```c
#include <stdio.h>
// 判断是否为质数的辅助函数
int is_prime(int num) {
if (num <= 1) return 0; // 小于等于1不是质数
if (num == 2 || num == 3) return 1; // 2和3是特例
if (num % 2 == 0) return 0; // 偶数除了2以外都不是质数
int i = 3;
while (i * i <= num) { // 只需要检查到num的平方根即可
if (num % i == 0) return 0; // 如果能被整除,则不是质数
i += 2; // 质数一定是奇数,跳过偶数
}
return 1;
}
int main() {
int count = 0; // 记录质数的数量
int number = 2; // 首个质数是2,从这里开始遍历
while (number <= 100) {
if (is_prime(number)) {
printf("%d ", number);
count++;
}
number++;
}
printf("\n在1到100之间,共有%d个质数。\n", count);
return 0;
}
```
在这个程序中,`is_prime`函数用于检查每个数字是否为质数,主循环则通过while结构遍历1到100,如果发现质数就打印并增加计数。
阅读全文