这样啊 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;
}








