这样啊 c语言学习交流群:280768274
程序代码:
//分解质因数 #include<stdio.h> #define N 20 /*int judge(int n) //判断素数 { int i; for(i=2;i*i<=n;i++) if(n%i==0) return 0; return 1; }*/ int decompose(int n,int *a) //分解质因数 { int i=0,j; while(n%2==0) { a[i++]=2; n/=2; } for(j=3;n!=1;j+=2) { //if(judge(j)) { while(n%j==0) { a[i++]=j; n/=j; } } } return i; } void show(int n,int *a,int count) { int i; printf("%d=",n); for(i=0;i<count-1;i++) printf("%d*",a[i]); printf("%d\n",a[i]); } int main() { int n,a[N]={0}; scanf("%d",&n); show(n,a,decompose(n,a)); return 0; }