为什么输出了两个相同结果呀,还是求关于孪生素数

为什么输出了两个相同的结果呀,关于求孪生素数的,求指点指点不知道问题出在哪。

img

if(b-a==2)这个代码块要放到if(j==i)代码块中才对

代码里a b没有复位,当-对输出完了之后,在没找到下一对素数之前,a b需要复位。
在第7行前面插入一行,a = 0; b = 0;

哦 前10对啊 我改下


#include <stdio.h>
#include <math.h>
int Prime(int n);//定义函数,判断是否为素数。
int main()
{                       
    int i=2;//定义变量 
    int count=10;
       while(count!=0)
    {                       
        if (Prime(i)&&Prime(i+2)) //调用Prime()函数, 
            {                       
                printf("(%ld,%ld)\n", i, i+2); 
                count--;
            }
       i++;
     
    }
    
    return 0;
}                       
int Prime(int n)
{                       
    int i;
    for ( i = 2; i <= sqrt(n); i++) //若数为素数,则存在一个因数i属于(2,sqrt(n)) 
        {                       
            if (n % i == 0) 
            {                       
                return 0; //若不是素数,返回0 ; 
            }
        }
 
    return 1;//是素数,返回1; 
 
}

img