你的absPrimeTens函数里根本没有给p和q赋值,怎么比较,q==(p+2)这句肯定不成立
给你写个伪代码,你自己敲语句吧
void absPrimeTens()
{
for(int i = 3;i < 97;i++)//循环结束条件即i + 2 < 99
{
if(i为素数 && i + 2为素数)
{
打印i和i + 2
}
}
}
你的程序中p和q没有赋初值。按照题意,Prime应该判断输入的是否素数,是素数返回真否则返回假(0)
#include
int Prime(int p) { int i,b;
for ( i=2,b=1;i<=p/2;i++ ) if ( p%i==0 ) { b=0; break; }
return b;
}
void main() { int i;
for ( i=3;i<=100;i++ ) if ( Prime(i) && Prime(i+2) ) printf("%d,%d\n",i,i+2);
}