main()
{
   int a,temp,temp2,i,j;
   i=0;
   int b[i];
   printf("请输入一个整数:");
   scanf("%d",&a);
   temp=a;
   temp2=a;
   do
   {
    if(fun(temp)==1)
     {
       b[i]=temp;
       temp=temp2-b[i];
       temp2=temp;
       i++;
     }
    else
      temp--;
   }
   while(temp!=0);
   printf("%d=",a);
   for(j=0;j<=i-2;j++)
     printf("%d+",b[j]);
   printf("%d\n",b[i-1]);
}
fun(int c)
{
  int d;
  if((c%2)==0)
     return 0;
  for(d=3;d<=c-1;d++)
  {
     if(c%d==0)
       return 0;
     else
          continue;        
  }
  return 1;       
}
好久无碰delphi了,随便用C写的,应该没有错吧,一种很笨的算法