1.思路
- 素数:只能被1和它本身整除的数
- 外循环遍历100-999,内循环判断是否为素数
2.代码实现
第一种方法
intmain(){ inti,j,sum=0,count=0; for(i=101;i<=999;i+=2){ //所有偶数都不是素数for(j=2;jif(i%j==0) //除1和它本身之外最大的因子是他的break; //判断能否整除,能就不是素数,跳出循环if(j==i){ //当判断运行完以后,j++,这时j==i;count++; //这样当j==i,i%j!=0,j++,这时j就会大于i/2;sum=sum+i; } } printf("%.2f",(float)sum/count);//平均数保留两位小数,强制转化float类型;也可直接定义sum为float类型}
第二种方法
intmain(){ inti,j,n,sum=0,count=0; for(i=100;i<=999;i++) if(f(i)){ //调用f函数判断是否是素数,是返回1,否返回0sum+=i; //0为假非0为真count++; } printf("%.2f",(float)sum/count); } intf(inta){ inti; for(i=2;iif(a%i==0) return0; } return1; }