永发信息网

编写函数 int fun(int x, int *pp),其功能是,求出能整除X 求大神帮忙 谢谢了

答案:5  悬赏:20  手机版
解决时间 2021-11-26 06:09
  • 提问者网友:战皆罪
  • 2021-11-25 15:45
编写函数 int fun(int x, int *pp),其功能是,求出能整除X 求大神帮忙 谢谢了
最佳答案
  • 五星知识达人网友:山有枢
  • 2021-11-25 16:00
int fun(int x, int *pp){
int i,count=1;*pp++=1;
for( i=3;i<=x;i+=2)
if( !( x % i) ){ *pp++=i;count++;}
return count;
}

#include
int main(){
int x=30;
int i;
int pp[15];
int n=fun(x,pp);
printf("%d\n",x);
for (i=0;i printf("%d ",pp[i]);
return 0;
}
PS:这个要求有问题,没有输入条件,先说输出条件
这个原数组在哪里啊!
要求:(1)输出原数组、满足条件的数组和和个数,
在vc++下运行这个要求没用!
全部回答
  • 1楼网友:从此江山别
  • 2021-11-25 18:16
一看到指针就头疼.....楼上几位注意一下指针啊, 有指针的情况下可以不用返回值,直接定义个变量来接受指针的值把.
  • 2楼网友:纵马山川剑自提
  • 2021-11-25 17:24
int fun(int x, int*pp)
{
int iCnt = 0;
char code='+';
if(x<0)
{
x = -x;
code = '-';
}
for(int i=1; i {
if(x%i==0)
{
*pp++ = i*((code=='+')?1:(-1));
iCnt++;
}
}
return iCnt;
}
  • 3楼网友:深街酒徒
  • 2021-11-25 17:19
int fun(int x, int *p)
{
int i,j;
for(i=1,j=0; i
{
if(x%i == 0)

p[j++] = i,printf("%d ",i);//如果能整除的话, 就保存在数组p中,并打印该值

}
return j+1; //返回这些整数的个数,因为j是从0开始的,所以加1

}
  • 4楼网友:第四晚心情
  • 2021-11-25 16:32
int fun(int x, int *pp)
{
int i, ret;
ret = 0;
for(i = 1; i <= x/2; i++) {
if(x % i == 0 && i % 2 != 0) {
*pp = i;
++pp;
++ret;
}
}
return ret;
}
测试通过,希望对你有帮助,有什么疑问可以再交流。追问哥们 你这个我运行了 怎么老是有一个错误啊追答什么问题,你写了main函数没有?还有穿进去的参数应该是个数组。你传对了么?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯