
完全不会啊,首先采用哪种循环不太清楚,也不知道怎么确定它为质因数
#include <stdio.h>
int main()
{
int n, i;
scanf("%d", &n);
printf("%d=", n);
for (i = 2; i <= n; i++)
{
while (n % i == 0)
{
printf("%d", i);
n /= i;
if (n != 1)
printf("*");
}
}
printf("\n");
return 0;
}
程序的执行步骤如下:
首先从键盘读入一个整数n,表示待分解的数。
然后用循环从2到n依次枚举所有可能的质因数i。
对于每个质因数i,用while循环将n不断除以i,直到n无法再被i整除为止。
每次除完i之后,如果n不等于1,就输出一个乘号。
循环结束后,输出换行符。
这样,程序就能够输出n的所有质因数,并将它们从小到大相乘输出。