c语言,求1到100内所有素数以及素数个数

编写程序统计 100 以内的自然数,有多少个素数?输出所有素数及素数的个数。

#include 

void main (void)

{
    int n,i;

    for(n=2;n<100;n++)
    
    {
        for(i=2;iif(n % i ==0)
            break;
        }
    
        if(i>=n)
            printf("%d ",n);    
    }
}

这个c语言运行结果是1到100内的所有素数

我想要加一小段代码,求出素数的个数

#include <stdio.h>
 
void main (void)
 
{
    int n,i;
 int count = 0;
    for(n=2;n<100;n++)
    
    {
        for(i=2;i<n;++i)
        {
            if(n % i ==0)
            break;
        }
    
        if(i>=n){
 printf("%d ",n);  
count++;  
}
    }
printf("%d\n",count);
}

输出下边计数一下就行了

#include <stdio.h>
 
void main (void)
 
{
    int n,i,count=0;
 
    for(n=2;n<100;n++)
    
    {
        for(i=2;i<n;++i)
        {
            if(n % i ==0)
            break;
        }
    
        if(i>=n){
  printf("%d ",n);    
count++;
}
          
    }
printf("\n%d\n",count);
}

#include <stdio.h>

/* 判断一个数是否是质数 */
int is_prime(int n) {
    for (int i = 2; i * i <= n; i++) {
        if (n % i == 0)
            return 0;
    }
    return 1;
}

int main () {
    int count = 0; //质数个数

    for (int n = 2; n < 100; n++) {
        if (is_prime(n)) {
            printf("%d ", n);
            count++;
        }
    }
    printf("\n");
    printf("质数个数:%d", count);
    return 0;
}

修改如下,供参考:

#include <stdio.h>
void main(void)

{
    int n, i, cnt = 0;
    for (n = 2; n < 100; n++)
    {
        for (i = 2; i < n; ++i)
        {
            if (n % i == 0)
                break;
        }
        if (i >= n) {
            cnt++;
            printf("%d ", n);
        }
    }
    printf("\n共有素数:%d", cnt);
}