题目内容:
下列给定的程序中,函数proc()的功能是:为一个偶寻找两个素数,这两个素数之和等于该偶数,并将这两个数通过形参指针传回主函数。 请修改函数proc()中的错误,使它能得出正确的结果
注意:不要改动main()函数,不得增行或删行,也不更改程序的结构。
试题程序:
#include<stdio.h>
#include<math.h>
void proc(int num,int*b,int*c)
{
int i,j,d,y;
for(i=3;i<=num/2;i=i+2)
//****found****
{ y=0;
for(j=2;j<=sqrt((double)i);j++)
if(i%j==0)y=0;
if(y==l)
//****found****
{ d=i-num;
for(j=2;j<=sqrt((double)d);
j++)
if(d%j==0)y=0;
if(y==l)
{*b=i;*c=d;)
}
}
}
void main()
{ int mum,b,C;
do
{ printf("\nlnput num:");
scanf("%d",&num);)
while(num%2); ’
proc(num,&b,&c);
printf("\n\n%d=%d+%d\n",num,b,c);
}
}
参考答案:
答案解析: