编写函数void fun(int x, int *p, int *n),它的功能是:求出x的偶数因子,并按从小到大的顺序放在p所指向的数组中,这些因子的个数通过形参n返回(假设p指向足够大的空间)。如,若x中的值为24,则有6个数符合要求,它们是2,4,6,8,12,24
****(小白捞文)*不足请指出
#include<stdio.h>
void fun(int x,int *p,int *n);
int main(){
int i,x,sum=0;//sum存放因子个数
int Divisor[101];//存放x的因子数组
printf("请输入整数x:\n");
scanf("%d",&x);
fun(x,Divisor,&sum);//调用fun函数
printf("%d的因子有%d个,分别为:\n",x,sum);
for(i=0;i<sum;i++)//输出因子
printf("%d ",Divisor[i]);
return 0;
}
void fun(int x,int *p,int *n){
int i,j=0;
for(i=2;i<=x;i+=2)//从i=2开始遍历,注意是偶数,则每次加2,x本身也是因子
if(x%i==0){
p[j++]=i;
*n+=1;
}
}