请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数

的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

以下是我写的 不论输入多少 输出的都是0 请大侠帮忙找找怎么改

#include<stdio.h>
int n=0;
void fun(int x,int *n)
{
int pp[100];
int i;
for(i=1;i<=100;i++)
{
if(x%i==0&&i%2!=0)
{
pp[i]=x;
*n++;
}
}
return(n);
}

void main()
{
int x,i;
printf("请输入一个小于100的整数:");
scanf("%d",&x);
fun(x,n);
printf("%d\n",n);
}

1、首先,我们调用两个库文件

2、然后我们用一个输出语句构成语句。

3、然后我们输入他的函数名称。

4、运行后,我们就可以i看到他的结果。

5、如果看到零不舒服的话,可以加上强制转换。

6、这时候运行,就可以看到结果。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-11
#include<stdio.h>

#define MAX_SIZE 100

void fun(int x,int *pp)
{
int i,j=0;
for(i = 1; i<MAX_SIZE; i++)
{
if( x%i==0&&i%2 != 0)
{
pp[j]=i;
j+=1;
}
}
}

void main()
{
int x;
int i,j;
int pp[MAX_SIZE] ={0};
printf("请输入一个小于100的整数:");
scanf("%d",&x);
fun(x,pp);
i = 0;
while(pp[i]!=0)
{
i++;
}
for(j=0; j<i;j++)
{
printf(" %d",pp[j]);
}
}

请输入一个小于100的整数:100
1 5 25请按任意键继续. . .本回答被网友采纳
第2个回答  推荐于2016-10-16
#include<stdio.h>
void fun(int x,int *n)
{
int pp[100] = {0};
int i,j = 0;
for(i=1;i<=x;i++)
{
if(x%i==0&&i%2!=0)
{
pp[j++]=i;
}
}
for(i = 0; i < j; i++)
{
printf("%d ",pp[i]);
if(i+1 % 3 == 0)
printf("\n");
}
*n = j;
}

void main()
{
int x;
int n;
printf("请输入一个小于100的整数:");
scanf("%d",&x);
fun(x,&n);
printf("\n\n共%d个\n",n);
}
本来想指出你代码中的错误的,但是实在太多了,弄了一下就懒得弄,直接给你修改过的吧追问

int pp[100] = {0};
int i,j = 0;
for(i=1;i<=x;i++)
{
if(x%i==0&&i%2!=0)
{
pp[j++]=i;
}
}
这里为什么要弄两个变量呢?

本回答被提问者采纳

求C++高手!!!
3.请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 例如,若x中的值为30,则有4个数符合要求,它们是1,3,5,15。***4.请编写一个函数void fun(char *tt,int pp[]),统计在tt字符串中...

急求!!!全国计算机等级考试二级C机考题库 附答案的最好 !急!!!_百度...
3: 第3题 请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 答案:void fun(int x, int pp[ ], int *n){int i=1,j=0;k=0,*t=pp;for(i=0;i<=x;i++)if(i%2!=0){t[...

编写函数 int fun(int x, int *pp),其功能是,求出能整除x且不是偶数的...
我的理解是 输出的是 数组为:1 3 5 15 个数为:4 int fun(int x, int *pp){ int i,j=0;for(i=1;i<=x;i++){ if(x%i==0&&i%2!=0)scanf("%d",&pp[j]);j++;} return j;}

...填空,编写fun函数,求能整除型参x且不是偶数的各整数,并安小到大...
void fun(int x,int *a,int *n){ int i,count=0;for(i=1;i<=x;i++){ if(x%i==0&&i%2!=0)a[count++]=i;} n=count;} int main(){ int x,a[1000],n,i;printf("please enter an integer number:\\n");scanf("%d",&x);fun(x,a,&n);for(i=0;i<n;i++)printf(...

...函数的程序,函数fun功能是求出能整除x且不是偶数的各个整数,顺序存...
这个n=0,所以没有执行printf语句,没有结果输出。那么n为什么等于0呢,是因为你没有给n赋值,fun函数里,你使用的i进行累加,而你强行把fun参数*p地址给改了,这没有用的,对于n来说,你改不了它的地址,只能改它的值。所以,n的地址还是不变,而你又没有给n赋值,结果就是不执行printf这个语句...

c++求能整除x且不是偶数的各整数,并按照从小到大的顺序放在pp指向的内...
std;int fun(int x,int* pp){ int num=0;for(int i=1;i<=1000;i+=2){ if(x%i == 0){ pp[num] = i;num++;} } return num;} int main(){ int pp[1000];int x = 999;int num = fun(x,pp);for(int i=0;i<num;i++){ cout<<pp[i]<<endl;} return 0;} ...

C语言 求能整除x且不是偶数的各个整数,并按从小到大的顺序放在aa所指数...
int main()\/\/main函数一般是不带参数的,在里面定义 {int i, j=0;int x;int pp[100];scanf("%d",&x);\/\/要加& for(i=1;i<=x;i++){ if(x%i==0&&i%2!=0){pp[j]=i;j++;} } for(i=0;i<j-1;i++)printf("%d ",pp[i]);printf("%d\\n",pp[i]);return 0;} ...

请用c语言编写一个函数fun功能是:计算n门课程的平均分,计算结果作为函 ...
float fun(float a[],int n){ int i;float s=0,t;for(i=0;i<n;n++)s=s+a[i];t=s\/n;return(t);}

C语言 求非偶数的除数
void fun(int x,int a[],int *j){ int i;j=0;for(i=1;i<=x;i++){ if(x%i==0){ if(i%2!=0)a[(*j)++]=i;} } } 不过参数j有些多余,完全可以通过返回值 来获取。

c语言程序??帮忙解答
void main(){ int a=1,b=2,c=3,d;d=fun(&a,&b,c); \/\/这里第一个参数应该是&a,没有&s printf("%d,%d,%d,%d",a,b,c,d);} int fun(int *a,int *b,int c){ *a=(*b)++; \/\/这里的局部变量a是一个指针,指向的是main函数中的局部变量a的地址,语句*a=(*b)++...

相似回答