#include "stdio.h"
#include "math.h"
void main()
{
int i,n,k,j,d=1,a[1000],p=0,x,y;
printf("输入需输出的偶数的范围n=");
scanf("%d",&n);
while(n<=6){
if(n<=6)printf("输入有误");
scanf("%d",&n);
}
printf("%d范围内的质数如下:\n",n);
printf(">>===================================<<\n");
for(i=2;i<=n;i++)
{
k=sqrt(i); //... 前面加个(int)干嘛...
for(j=2;j<=k;j++)
{
if(i%j==0)break;
}
if(j>k)
{
printf("%5d",i);
a[p++]=i; //数组下标要增加...
d++;
}
if(d%6==0)
{
printf("\n");
d=1;
}
}
printf("\n");
printf(">>====================================<<\n");
for(i=6;i<=n;i++)
{
for(x=0;x<=p;x++){
for(y=0;y<=p;y++){
if(a[x]+a[y]==i)//*******这行有什么问题?为什么不执行if里面的语句?
{
printf("%d= %d+%d \n",i,a[x],a[y]);
break;
}
}
}
i++;
printf("\n");
}
}
效果图如下: