C语言帮我修改下代码谢谢

2025-04-17 13:32:17
推荐回答(2个)
回答1:

你的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
        }
    }
}

回答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);
}