求解PTA 乙题1007,为什么我这么编的不对

img

img
一直在纠正自己,但还是得不到正确的结果,请问我到底错在了哪里?谢谢各位了

你得先判断是不是素数,然后判断相邻的两个素数是否相差2,代码如下:

#include <stdio.h>
int main()
{
    int N,i,j,m=0,h=0;
    int prime;
    int p[100];
    scanf("%d",&N);
    for (i=2;i<N;i++)
    {
        prime = 1;
        for(j=2;j<i;j++)
        {
            if (i%j == 0)
            {
                prime = 0;
                break;
            }
        }
        if(prime)
        {
            p[m] = i;
            if(m>=1 && p[m]-p[m-1] == 2)
                h++;
            m++;
        }
        
    }
    printf("%d",h);
    return 0;
}