要編寫一個C語言函數來分解因子,你可以按照以下步驟進行:
printf
和scanf
函數,所以需要包含stdio.h
頭文件。#include<stdio.h>
factorize
的函數,它接受一個整數參數n
,并返回一個整數值。在這個例子中,我們不需要返回任何值,所以返回類型為void
。void factorize(int n);
factorize
函數內部,創建一個名為i
的整數變量,用于遍歷從2到n
的所有整數。int i;
for
循環遍歷從2到n
的所有整數。在每次迭代中,檢查當前的整數i
是否是n
的因子(即n
能被i
整除)。如果是,則打印出i
因子,并將n
除以i
,然后繼續循環。如果不是,則將i
加1,繼續檢查下一個整數。for (i = 2; i <= n; i++) {
while (n % i == 0) {
printf("%d ", i);
n /= i;
}
}
main
中調用factorize
函數,并傳入一個整數值。你可以從用戶那里獲取輸入,或者直接傳入一個固定的整數值。int main() {
int number;
printf("Enter a number: ");
scanf("%d", &number);
printf("Factors: ");
factorize(number);
return 0;
}
factorize.c
的文件中,然后使用C編譯器(如GCC)編譯并運行該程序。完整的代碼如下:
#include<stdio.h>
void factorize(int n) {
int i;
for (i = 2; i <= n; i++) {
while (n % i == 0) {
printf("%d ", i);
n /= i;
}
}
}
int main() {
int number;
printf("Enter a number: ");
scanf("%d", &number);
printf("Factors: ");
factorize(number);
return 0;
}
編譯并運行此程序后,它將提示用戶輸入一個整數,然后輸出該整數的所有因子。