双重循环打印质因子(简单点)

用双重循环打印一个正整数的所以质因子,基础点的代码,只用双重循环

供参考,一重循环即可达目的:

#include<stdio.h>
int main()
{
    int n, i;
    scanf("%d",&n);
    for (i = 1; i <= n; i++)
        if (n % i == 0) printf("%d ", i);
    printf("\n");
    return 0;
}


int a = 0;
int k = 0, j = 0;
int  flag = 1; //判断是否是质因数

printf("输入一个整数:");
scanf("%d", &a);

for(k = 1; k <= a; k++)
{
    if(0 == a%k)//判断因数
     {
          for(j = 2; j < k/2; j++)
          {
              if(k%j == 0)//判断质数
              {
                    flag=0;//不是质数
                    break;
              }
          }
           
          if(flag == 1)//是质因数就打印
          {
              printf("%d ", k);
          }
          flag = 1;
     }
}
printf("\n");

^0^如果有用的话,请采纳!!!!!!