用C语言循环语句写1-100的素数
时间: 2024-05-14 19:14:36 浏览: 81
```c
#include <stdio.h>
int main()
{
int i, j, flag;
for(i=2; i<=100; i++)
{
flag = 1; // 假设当前数为素数
for(j=2; j<i; j++)
{
if(i % j == 0) // 当前数能被其它数整除,不是素数
{
flag = 0;
break;
}
}
if(flag == 1) // 当前数是素数,输出
{
printf("%d ", i);
}
}
return 0;
}
```
相关问题
C语言用for语句写一段程序输出1-100的素数并输出循环的次数
非常感谢您的提问!下面是用C语言的for语句写的一个程序,可以输出1-100之间的素数,并输出循环的次数:
```
#include <stdio.h>
int main() {
int i, j, count = 0;
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) {
printf("%d ", i);
count++;
}
}
printf("\n循环的次数是:%d\n", count);
return 0;
}
```
其中,i代表当前循环到的数字,j代表用来判断是否为素数的除数,is_prime是一个标记变量,用来标记当前数字是否是素数。这个程序的思路是:对于每一个i,在2~i-1之间查找是否存在一个j,能够整除i,如果找到了这样的一个j,就标记i不是素数。最后在程序中加上一个计数器count,来统计循环的次数,并输出循环的次数和所有的素数。
用c语言的for语句写3~100的素数
在C语言中,我们可以利用嵌套的for循环结构以及之前提到的素数检测函数来找出3到100之间的所有素数。以下是代码示例:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num <= 1)
return false;
if (num == 2 || num == 3)
return true;
if (num % 2 == 0 || num % 3 == 0)
return false;
for (int i = 5; i * i <= num; i += 6) { // 跳过6的倍数,只检查奇数因数
if (num % i == 0 || num % (i + 2) == 0)
return false;
}
return true;
}
int main() {
for (int i = 3; i <= 100; i++) {
if (is_prime(i)) {
printf("%d ", i); // 打印素数
}
}
printf("\n"); // 结束打印
return 0;
}
```
这段代码首先检查2和3是否为素数,然后从5开始跳过所有6的倍数(因为它们要么是偶数,要么已经被3整除),仅检查奇数作为可能的因数。这样可以显著减少计算量。
阅读全文