输入一个正整数,输出它的所有质数的因子

img

img

img

输出结果正确,但是没有过关,请问该如何改进或是用while循环怎么解决该题目?

修改如下,供参考:

#include <stdio.h>
int main()
{
    int n, i, k;
    while (scanf("%d", &n) == 1 && n != 0)
    {
        i = 2; k = 0;
        while (n != 1)
        {
            if (n % i == 0) {
                n /= i;
                printf(k++ == 0 ? "%d" : " %d", i);
            }
            else {
                i++;
            }
        }
        printf("\n");
    }
    return 0;
}