C++基础进行质因分解

如何从键盘输入一个合数,采用单层循环对这个合数进行质因数分解。 合数是指自然数中除了能被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;
 
 
}