问题:编程实现从键盘输入的一个偶数写成两个素数之和。如从键盘输入32,则输出为:32=3+29、32=13+19.
请问我想用函数的调用来解决这个问题,但是为什么没有成功?
#include <iostream>
using namespace std;
int fun(int x,int a)
{ int i=0;
for(x=0;x<a;x++)
{
for (i = 2; i < x; i++) //试除法,能不能被x整除,从2开始找,直到等于x
{
if (x % i == 0) //找到能被i整除的数了
{
break;
}
}
if (x == i) //找到和x相等也没有被整除的,证明是质数
{
cout<<x<<endl;
}
}
return x;//求素数
}
int main(int a)
{
int b=0;
int c=0;
cout<<"请输入一个偶数:";
cin>>a;
if((fun(b,a)+fun(c,a))==a)
cout<<a<<"="<<fun(b,a)<<"+"<<fun(c,a);
else cout<<"error"<<endl;
return 0;}