输出100以内的所有素数,并统计素数的个数。

不知道该如何用C语言编写。。。。。。。。。。。。。。。。。。。。。。。。。。。求帮助。。。。

img

#include <stdio.h>


int isPrime(int num){
    int a=0;  // 素数的个数

    for(int i=2;i<num;i++){
        if(num%i==0){
            a++;  // 素数个数加1
        }
    }

    if(a==0){
        // printf("%d是素数。\n", num);
        return 1;
    }else{
        // printf("%d不是素数。\n", num);
        return 0;
    }

    
}

int main(){
    int sum=0;
    for(int i=0; i <=100; i++){
        int flag = isPrime(i);
        if(1 == flag){
            sum++;
            printf("%d ",i);
        }
    }
    printf("\n总数为: %d ",sum);
    
    return 0;
}


#include<stdio.h>
#include<math.h>
int main()
{
int i,j,flag;
printf("1~100素数为:\n");
for(i=2;i<=100;i++){
flag=1;
for(j=2;j<=sqrt(i);j++){
if(i%j==0)
flag=0;
}
if(flag==1) printf("%d\n",i);
}
return 0;
}
看不懂继续解答

#include <stdio.h>

int prime(int x)
{
for(int i=2;i<x;i++)
{
if(x%i==0)
return 0;
}
return 1;
}

void main(){
int i,n=0;
printf("100以内的所有素数:");
for(i=2;i<=100;i++)
{
if(prime(i))
{
printf("%d\t",i);
n++;
}
}
printf("\n共有素数%d个\n",n);
}

#include <stdio.h>

int main()
{
int i,j;
int count=0;

for (i=1; i<=100; i++) 
{
    for (j=2; j<i; j++) 
    {
    // 如果 j 能被 i 整除再跳出循环
        if (i%j==0) 
            break;
    }
// 判断循环是否提前跳出,如果 j<i 说明在 2~j 之间,i 有可整除的数
    if (j>=i) 
    {
        count++;
        printf("%d ",i);
        printf("\n");
    }
}   

printf("%d",count);
return 0;
}