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