大一c语言程序设计“函数”

输入一个大于等于6的偶数,将它表示为两个素数之和(输出所有组合)
要求:用自定义函数int prime(int n)来判断n是否为素数


#include <iostream>
#include <algorithm>
using namespace std;

bool S_shu(int n)
{
    int i;
    int tmp = sqrt(n);
    for (i = 2; i <= tmp; i++)
    {
        if ((n % i) == 0)
        {
            return false;
        }
    }
    return true;
}

int main()
{
    int p;
    while (cin >> p)
    {
        int left = p / 2;  //中值左边的数
        int right = p - left;    //中值右边的数
        //左边或右边的值不是素数,继续向两边找
        while (!S_shu(left) || !S_shu(right))
        {
            left--;
            right++;
        }
        int n = left;
        int m = right;
        cout << n << endl;
        cout << m << endl;
    }

    system("pause");
    return 0;
}
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
输入一个大于等于6的偶数,将它表示为两个素数之和(输出所有组合)
要求:用自定义函数int prime(int n)来判断n是否为素数
#include <stdio.h>
int prime(int n)
{
    if(n<2)
        return 0;
    for(int i=2;i*i<=n;i++)
        return 0;
    return 0;
}
int main()
{
    int n;
    scanf("%d",&n);
    for(i=2;i<n;i++)
         if(isprime(i) && isprime(n-i))
          {
                printf("%d=%d+%d",n,i,n-i);
                break;
          }
  
    return 0;
}