可以封裝一個函數來計算一個數的因子,并返回一個包含所有因子的數組。以下是一個示例實現:
#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的因子,并打印出來。
通過封裝因子計算函數,我們可以方便地復用這段代碼,并在需要時調用。