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;
}