可以封装一个函数来计算一个数的因子,并返回一个包含所有因子的数组。以下是一个示例实现:
#include <stdio.h>
#include <stdlib.h>
int* findFactors(int num, int* size) {
int* factors = (int*)malloc(num * sizeof(int));
int index = 0;
for (int i = 1; i <= num; i++) {
if (num % i == 0) {
factors[index++] = i;
}
}
*size = index;
return factors;
}
int main() {
int num = 12;
int size;
int* factors = findFactors(num, &size);
printf("Factors of %d are: ", num);
for (int i = 0; i < size; i++) {
printf("%d ", factors[i]);
}
printf("\n");
free(factors);
return 0;
}
在这个示例中,findFactors
函数接受一个整数作为参数,并返回一个包含该整数的因子的数组。在main
函数中,我们调用findFactors
函数来计算12的因子,并打印出来。
通过封装因子计算函数,我们可以方便地复用这段代码,并在需要时调用。