我进行调试了 但是后面还是没发现问题
就是为什么最后一个因数输出不了
供参考:
#include <stdio.h>
int main()
{
int n, k = 0;
scanf("%d", &n);
printf("%d=", n);
while (n != 1)
{
for (int i = 2; i <= n; i++)//修改 for (int i = 2; i < n; i++)
{
if (n % i == 0)
{
if (n == i){
printf("%d", i);
n /= i;
break;
}
else{ //修改
printf("%d*", i);//修改 printf("% d*", i);
n /= i;
break;
}
}
}
}
return 0;
}
else if里面的printf语句中% d需要改成%d,
for循环的条件应该是 i <= n
不然i == n的时候进不了循环,最后一个输出就出不来