求改错!“输出100以内孪生素数对”解决问题必采纳

#include <stdio.h>
#include <math.h>
int prime(int n);

int main()
{
int n;
for(n=2;n<=100;n=n+2)
{
if(prime(n)==1 && prime(n+2)==1)
printf("%d,%d/n",n,n+2);
}

return 0;

}
int prime(int n)
{
int i,k;
k=sqrt(n);
for(i=2;i<=k;i=i+2)
if(n%i==0)return 0;
if(i>=k+1)
return 1;
}

你这代码格式太乱了, 直接写了一个新的(想改错你把所有代码都弄成代码格式别人才会看)


#include<stdio.h>
#include<math.h>
bool isPrime(int number){
    int temp = sqrt(number);
    for(int i = 2; i <=  temp + 1; i ++)      // 判断number是否是素数 
        if (number % i == 0)
            return false;
    
    return true;
} 


int main(){
    int a[100] = {0};   // 存放所有素数
    int idx = 0;
    
    for (int i = 2; i <= 100; i++)
        if (isPrime(i))
            a[idx++] = i;

    for (int i = 1; i < 100; i++)
        if (a[i] - a[i-1] == 2)
            printf("素数对为 %d 和 %d\n", a[i - 1], a[i]);
     
}