用C语言:|编写带有函数的程序,函数fun功能是求出能整除x且不是偶数的各个整数,顺序存放在数组p中,这些除数的个数通过形参返回。|
时间: 2023-06-25 11:03:47 浏览: 55
以下是用C语言编写的程序,满足题目要求:
```c
#include <stdio.h>
int fun(int x, int p[]) {
int count = 0;
for (int i = 1; i <= x; i++) {
if (x % i == 0 && i % 2 != 0) {
p[count++] = i;
}
}
return count;
}
int main() {
int x = 20;
int p[100];
int count = fun(x, p);
printf("The divisors that can divide %d and are not even numbers are:\n", x);
for (int i = 0; i < count; i++) {
printf("%d ", p[i]);
}
return 0;
}
```
程序中的 `fun` 函数用于求出能整除 `x` 且不是偶数的各个整数,并将这些除数顺序存放在数组 `p` 中。函数通过返回值返回除数的个数。在主函数中,我们可以调用 `fun` 函数得到除数,并输出结果。
相关问题
用C语言实现,编写带有函数的程序,函数fun功能是求出 能整除x且不是偶数的各个整数,顺序存放在 数组pp中,这些除数的个数通过形参返回
以下是用C语言实现的程序:
```c
#include <stdio.h>
void fun(int x, int pp[], int *n) {
int i, j = 0;
for (i = 1; i <= x; i++) {
if (x % i == 0 && i % 2 != 0) {
pp[j++] = i;
}
}
*n = j;
}
int main() {
int x = 12;
int pp[100] = {0};
int n;
fun(x, pp, &n);
printf("能整除%d且不是偶数的整数有:\n", x);
for (int i = 0; i < n; i++) {
printf("%d ", pp[i]);
}
printf("\n共%d个\n", n);
return 0;
}
```
程序中的 `fun` 函数功能是求出能整除 `x` 且不是偶数的各个整数,存放在数组 `pp` 中,同时通过形参 `n` 返回这些除数的个数。
在 `fun` 函数中,我们通过循环判断每个数字是否能整除 `x` 且不是偶数,如果符合条件就存放在数组 `pp` 中,并且 `j` 自增,表示找到了一个除数。最后将 `j` 的值赋给 `n`,表示找到的除数的个数。
在 `main` 函数中,我们先定义了一个整数 `x`,表示要求的数值是 `x`。然后定义了一个数组 `pp`,用来存放符合条件的除数。再定义一个整数 `n`,作为形参传递给 `fun` 函数,用来返回除数的个数。
调用 `fun` 函数后,我们通过循环输出数组 `pp` 中存放的除数,最后输出除数的个数。
运行程序,输出结果如下:
```
能整除12且不是偶数的整数有:
1 3
共2个
```
可以看出,程序正确地找到了能整除 `x` 且不是偶数的整数,并存放在了数组 `pp` 中。
编写带有函数的程序,函数fun功能是求出 能整除x且不是偶数的各个整数,顺序存放在 数组pp中,这些除数的个数通过形参返回。用C语言实现
下面是一个实现上述功能的 C 代码:
```c
#include <stdio.h>
void fun(int x, int *pp, int *n) {
int i;
*n = 0;
for (i = 1; i <= x; i++) {
if (x % i == 0 && i % 2 != 0) {
pp[*n] = i;
(*n)++;
}
}
}
int main() {
int x = 12, n, pp[100], i;
fun(x, pp, &n);
printf("x = %d\n", x);
printf("Divisors: ");
for (i = 0; i < n; i++) {
printf("%d ", pp[i]);
}
printf("\nNumber of divisors: %d\n", n);
return 0;
}
```
其中,`fun` 函数的第一个参数 `x` 为需要求出其能整除且不是偶数的各个整数的整数,第二个参数 `pp` 为存放除数的数组,第三个参数 `n` 为存放除数个数的指针。
在 `fun` 函数中,我们首先将 `n` 初始化为 0,然后遍历 1 到 `x` 的每个数,如果该数能整除 `x` 且不是偶数,则将该数存入 `pp` 数组中,并将 `n` 的值加 1。最后,程序输出 `x` 的所有除数以及除数个数。
在 `main` 函数中,我们通过调用 `fun` 函数来求出 `x` 的除数,并输出结果。