用双重循环打印一个正整数的所以质因子,基础点的代码,只用双重循环
供参考,一重循环即可达目的:
#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^如果有用的话,请采纳!!!!!!