聲明壹int型變量n接收鍵盤輸入並限制為正數。另壹int型變量i初值賦2,用i去除n,能被整除則輸出i為質因數,並將n賦值為n/i;不能整除則i增1再去除n的新值……如此反復至n==1為止。輸出時,在n==1之前增印壹個*號表示“乘”。代碼如下:
#include?"stdio.h"int?main(int?argc,char?*argv[]){
int?n,i;
printf("Input?n(int?n>0)...\nn=");
if(scanf("%d",&n)!=1?||?n<1){//輸入並限制大於0
printf("Input?error,?exit...\n");
return?0;
}
printf("\n%d?=?",n);
for(i=2;n>1;){//分解質因數,i從2開始
if(n%i==0){//能被i整除則輸出因數i
printf("%d",i);
if((n/=i)>1)//未到最後壹個因數則輸出壹個*號
printf("*");
}
else//不能被i整除則i增1
i++;
}
printf("\n");
return?0;
}
運行樣例如下: