C语言:求200以内的所有素数并求出他们的平均值

C语言:求200以内的所有素数并求出他们的平均值

代码如下:

#include <stdio.h>
int prime(int n)
{
    int i;
    if(n<2) return 0;
    for(i=2;i<n;i++)
    {
        if(n%i==0)
            return 0;
    }
    return 1;
}

int main()
{
    int i,cnt=0;
    float ave = 0;
    for (i=2;i<=200;i++) //从2开始,2也是素数
    {
        if(prime(i))
        {
            printf("%d ",i);//输出所有素数,如果不需要,则注释掉
            cnt++;
            ave += i;
        }
    }
    printf("\n平均值=%f",ave/cnt);
    return 0;
}

#include <stdio.h>

int fun(int x){
    int j;
    int flag = 1;//默认i是素数
    for(j=2;j<x;j++){
        if(x % j == 0){
            flag = 0;//表示i不是素数 
            break;
        }
    } 
    return flag;
    
}
int main(int argc, char *argv[]) {
    
    int i,j,cnt=0;
    float sum=0;
    int flag;//标识某个数是不是素数
    //i代表2到100之间的数 
    for(i=3;i<=200;i++){ 
        //内循环判断i是不是素数 
        if(fun(i)){
            cnt++;
            sum += i;
            printf("%d\t",i);    
        }
    } 
    printf("\n平均值是:%.02f",sum/cnt);
    return 0;
}