可以封装一个函数来计算一个数的因子,并返回一个包含所有因子的数组。以下是一个示例实现:
#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的因子,并打印出来。
通过封装因子计算函数,我们可以方便地复用这段代码,并在需要时调用。