编写带有函数的程序,函数fun功能是求出能整除x且不是偶数的各个整数,顺序存放在数组p中,这些除数的个数通过形参返回。 例如:若x值为30,则有4个数符合要求,是1,3,5,15。 voidfun(int x,int pl],int *n) int main() 1 int x,a[100], n, i; printf("Please enter a number:\n"); scanf("%d"&x); fun(x.a.&n) for(i=0:i<n:i++) printf(”%3d",a[i]); printf("\n"); return 0;
时间: 2023-12-03 14:44:36 浏览: 93
下面是实现上述功能的程序:
```c
#include <stdio.h>
void fun(int x, int p[], int *n){
int i;
*n = 0;
for(i = 1; i <= x; i++){
if(x % i == 0 && i % 2 != 0){
p[*n] = i;
(*n)++;
}
}
}
int main(){
int x, a[100], n, i;
printf("Please enter a number:\n");
scanf("%d", &x);
fun(x, a, &n);
for(i = 0; i < n; i++)
printf("%3d", a[i]);
printf("\n");
return 0;
}
```
在这个程序中,我们定义了一个`fun`函数,用于计算能整除`x`且不是偶数的各个整数,并将它们存放在数组`p`中。同时,我们使用指针`n`来返回这些除数的个数。
在`main`函数中,我们首先从用户处获取了一个整数`x`,然后调用`fun`函数来获取所有符合要求的除数,并将它们存放在数组`a`中。最后,我们遍历数组`a`,并打印出其中的每个元素。
相关问题
编写带有函数的程序,函数fun功能是求出能整除x且不是偶数的各个整数,顺序存放在数组pp中,这些除数的个数通过形参返回。
下面是一个可能的实现,其中使用了动态内存分配来存储pp数组。
```c
#include <stdio.h>
#include <stdlib.h>
void fun(int x, int **pp, int *count) {
int i;
*count = 0;
*pp = NULL;
for (i = 1; i <= x; i++) {
if (x % i == 0 && i % 2 != 0) {
(*count)++;
*pp = (int *) realloc(*pp, *count * sizeof(int));
(*pp)[*count - 1] = i;
}
}
}
int main() {
int x = 24;
int *pp, count, i;
fun(x, &pp, &count);
printf("%d的能整除且不是偶数的整数有:\n", x);
for (i = 0; i < count; i++) {
printf("%d ", pp[i]);
}
printf("\n");
free(pp);
return 0;
}
```
在函数中,首先将count初始化为0,pp初始化为NULL。然后遍历1到x的所有整数,如果能整除x且不是偶数,就将该整数加入到pp数组中,同时将count加1。由于pp数组长度是动态变化的,因此使用realloc函数在每次添加元素时重新分配内存空间。最后,将pp数组和count返回给主函数。
主函数中,调用fun函数,并输出结果。最后,记得使用free函数释放动态分配的内存空间。
用C语言:|编写带有函数的程序,函数fun功能是求出能整除x且不是偶数的各个整数,顺序存放在数组p中,这些除数的个数通过形参返回。|
以下是用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` 函数得到除数,并输出结果。
阅读全文