如何从键盘输入一个合数,采用单层循环对这个合数进行质因数分解。 合数是指自然数中除了能被1和本身整除外,还能被其他数(0除外)整除的数。
int a,i;
scanf("%d",&a);
while(a>1)
{
if(a%i==0)
{
a/=i;
printf("%d ",i);
i=2;
}
else i++;
}
代码如下,如有帮助,请点击一下采纳谢谢:
#include <stdio.h>
int main()
{
int n,i;
scanf("%d",&n);
for(i=2;i<=n;i=i)
{
while (i<=n)
{
if (n%i==0 && i!=n) {printf("%d ",i);break;}
else if (n%i==0 && i==n) {printf("%d",i);break;}
else i=i+1;
}
n=n/i;
}
printf("\n");
return 0;
}