//编写程序,输入两个正整数m和n,输出m和n之间的素数并统计素数的个数。要求定义并调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。
#include
int prime(int m);
int main(int argc, const char * argv[]) {
int m,n,i,j,sum = 0;
printf("请输入两个正整数\n");
scanf("%d,%d",&m,&n);
for (i = m; i <= n; i++) {
j = prime(i); //调用prime(m)函数
if (j == 1) {
sum++; //统计素数个数
printf("%d 是素数\n", i);
}
else
printf("%d 不是素数\n",i);
}
printf("sum = %d",sum); //输出素数个数
}
int prime(int m) //判断m是不是素数的函数
{
int i,f = 0;
if (m == 2) {
f = 1;
}
for (i = 2; i < m; i++) {
if (m % i == 0) {
f = 0; //m不是素数时
break;
}
else
f = 1; //m是素数
}
return f;
}
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int prime(int n){
int i;
if(n>2 && !(n&1) || n<2)return 0;
for(i=3; i*i<=n;i+=2)
if(!(n%i)) return 0;
return 1;
}
int main(void){
int x,m,n;
while(1){
printf("Input 2 positive integers m & n(mif(scanf("%d%d",&m,&n),m>0 && m printf("Error, redo: ");
}
for(x = m<3 ? 1 : 0,m+=!(m&1);m<=n;x+=prime(m),m+=2);
printf("The result is %d\n",x);
return 0;
}