求教一道关于C++的编程问题

编写函数void fun(int x,int *pp,int *n),它的功能是:求出x的偶数因子,并按照从小到大的顺序放在pp所指的数组中,这些因子的个数通过形参n返回(假设pp指向足够大的空间)。如,若x中的值为24,则有6个数符合要求,它们是2,4,6,8,12,24.

非常感谢!!!
下面是本人编写的错误程序,如果能在这基础上修改发给我就更好了
#include ;

using namespace std;
int main()
{
void fun(int x, int pp[], int* n);
int x, pp[100], * n;
cin >> x;
cout << n << endl;
return 0;
}
void fun(int x, int pp[], int* n)
{
int i;
int j = 0;
int x;
for (i = 1;i <= x;i++)
if (x % i == 0)
{
pp[j++] = i;
}
*n = j;
}

c++

1个回答

问题解决的话,请点下采纳


#include <iostream>

using namespace std;

void fun(int x, int pp[], int* n);

int main()
{

    int x, pp[100], n;
    cin >> x;
    fun(x, pp, &n);
    cout << n << "个:" << endl;
    for (int i = 0; i < n; i++) cout << pp[i] << " ";
    cout << endl;
    return 0;
}

void fun(int x, int pp[], int* n)
{
    int i;
    int j = 0;
    for (i = 2; i <= x; i += 2)
        if (x % i == 0) 
        {
            pp[j++] = i;
        }
    *n = j; 
}
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问