请编写函数fun,它的功能是:求出能整除形参x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 例如,若 x 中的值为: 35,则有 4 个数符合要求,它们是: 1, 5, 7, 35
时间: 2023-06-24 18:06:22 浏览: 106
2.请编写函数fun,它的功能是:求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。_请编写函数fun,它的功能是 求出 1 到 1000 之间能被 7 或11整除、但不能同时被 7_Inspiration666的博客-CSDN博客.mht
以下是函数fun的实现,其中使用了动态内存分配来存储结果数组pp:
```c
void fun(int x, int **pp, int *n) {
int cnt = 0;
for (int i = 1; i <= x; i += 2) {
if (x % i == 0) {
cnt++;
}
}
*n = cnt;
*pp = (int *)malloc(cnt * sizeof(int));
cnt = 0;
for (int i = 1; i <= x; i += 2) {
if (x % i == 0) {
(*pp)[cnt++] = i;
}
}
}
```
使用示例:
```c
int main() {
int x = 35;
int *pp, n;
fun(x, &pp, &n);
for (int i = 0; i < n; i++) {
printf("%d ", pp[i]);
}
free(pp); // 记得释放内存
return 0;
}
```
输出结果为:`1 5 7 35`。
阅读全文