#include
int prime(int i) //判断素数
{
int j;
if(i<2)
return -1; //既不是素数也不是合数
for(j&#61;2;j<&#61;i/2;j&#43;&#43;)
if(i%j&#61;&#61;0)
return 0; //合数
return 1; //素数
}
void factor(int i) //分解质因数
{
int j;
if(prime(i)&#61;&#61;0)
{
printf("%d&#61;",i);
for(j&#61;2;j<&#61;i;)
{
if(i%j!&#61;0) //不能被j整除,就让j自加1
{
j&#43;&#43;;
}
else //能被j整除,就让i等于被除后的数
{
i&#61;i/j;
printf("%d×",j);
}
}
printf("\b \n"); //退格&#xff0c;把最后的“×”去掉
}
else
printf("%d不是合数&#xff0c;不能分解质因数。\n",i);
}
main()
{
int i,a[10];
printf("请输入10个合数\n");
for(i&#61;0;i<10;i&#43;&#43;)
{
printf("a[%d]&#61;",i);
scanf("%d",&a[i]);
}
printf("分解质因数如下&#xff1a;\n");
for(i&#61;0;i<10;i&#43;&#43;)
factor(a[i]);
}