用C语言输出100之间的所有质数

用C语言输出100之间的所有质数!
谢谢各位!
1到100之间的所有质数
如果可以的话 最好帮忙注释一下!
谢谢大哥大姐!

1、首先新建一个空白的c语言文件,引入头文件,头文件中包括math库,稍后会用到,建立主函数:

2、主函数上面新建一个判断素数的函数isPrime,判断依据是小于从2到算数平方根的数即是素数。然后在主函数中遍历2到100的数,调用isPrime判断满足素数条件就输出:

3、写完代码最后打开编译后的调试窗口,屏幕就会打印出100以内的所有有素数了。以上就是用C语言输出100之间的所有素数的操作:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-20
这可以最多输出999999个,输入数字为质数个数

#include<stdio.h>

int main()
{
printf("Enter the number of prime numbers\nThe number must be a integer which is biger than 1 and smaller than 999999\n");
int num, t = 0 ,attempt = 3 , n = 1,remainder;
scanf_s("%d", &num);
int prime[999999];
prime[0] = 3;
printf("2 i=%d\n", n);
printf("%d i=%d\n", prime[0], ++n);
wow:if(n<num)
{
n++;
loop:attempt += 2;
prime[n-2] = attempt;
come:remainder = attempt % prime[t];
if (remainder == 0)
{
t = 0;
goto loop;
}
else
{
if (t >= n-3)
{
t = 0;
printf("%d i=%d\n", prime[n-2], n);
goto wow;
}
else
{
t++;
goto come;
}
}
}
else
{
return 0;
}
}
第2个回答  推荐于2017-10-09
#include <stdio.h>
void main()
{
int a,b;
for(a=2;a<=100;a++) //取100以内所有的数
{
for(b=2;b<a;b++) //穷举法判断是否有因子
if(a%b==0) //有则非质数
break; //跳出本次循环
if(b>=a) //当条件为真则为质数
printf("%5d",a);
}
}本回答被提问者采纳
第3个回答  2009-07-07
#include <math.h>
#include <stdio.h>

#define MIN_NUM 1
#define MAX_NUM 100

int JudgePrime(int n)
{
int i, k = (int)sqrt(n);
if (n < 2)
{
return 0;//比2小
}
for (i=2; i<=k; i++)
{
if (n % i == 0)
{
return 0;//有除自己和1以外的约数
}
}
return 1;
}

int main()
{
int i;

for (i=MIN_NUM; i<=MAX_NUM; i++)
{
if (JudgePrime(i))
{
printf("%d\n", i);
}
}

return 0;
}
第4个回答  2018-06-22

    #include<stdio.h>

    int main()

    {

    int i,n;

    {

    for(i=0;i<=100;i++)

    {

    for(n=2;n<i;n++)

    {

    if(i%n==0) break;

    }

    if(n==i) printf("%d\t",n);

    }

    }

    while(1);

    return 0;

    }