yddsdd
2019-12-01 00:11
采纳率: 100%
浏览 312

求教一道关于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;
}

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • threenewbee 2019-12-01 09:29
    已采纳

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

    
    #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; 
    }
    
    已采纳该答案
    打赏 评论

相关推荐 更多相似问题