这项比较难,按照题目的方式来做的话会存在小问题,但是考试的时候就严格按照题目要求的流程来写代码就好啦,那些小BUG不是现在该去思考的~
#include <stdio.h>
int main() {
int n, k;
printf("请输入一个正整数:");
scanf_s("%d", &n);
printf("%d = ", n);
// 分解质因数
for (k = 2; k <= n; k++) {
/*判n的因数,利用while循环可以解决因数k相同时候的问题
如45 / 3 = 15, 15 / 3 = 5, 这里两个质数都是3
如果不用while直接 + 1会变成除以4导致错误)*/
while (n % k == 0)
{
printf("%d", k);
n = n / k;
if (n > 1) //判断n是否还有因数
{
printf("*");
}
}
}
return 0;
}