C语言程序题分解质因素求解(程序有时无法运行完整)

为什么我在下面的程序中输入78,会输出“78=23”?而且程序还没有运行完。

【问题描述】3.2.14 将一个正整数分解质因素。例如,输入90,输出90=233*5。

【输入形式】从键盘输入一个整数。

【输入输出样例1】(下划线部分表示输入)

Input an integer:90

90=233*5

【输入输出样例2】(下划线部分表示输入)

Input an integer:18

18=233

【样例说明】

输入提示符后无空格。

输出语句的“=”两边无空格。输出结束无换行符。

英文字母区分大小写。必须严格按样例输入输出。


```c
#include
int main ()
{
    int i,j,n;
    printf("Input an integer:");
    scanf("%d",&n);
    printf("%d=",n);
    for(i=2;iif(n%i==0)
        {
            printf("%d*",i);
            n/=i;
        }
        i=2;
    }
    printf("%d",n);
    return 0;
}



for(i=2;i<n;i++)
{
if(n%i==0)
{
printf("%d*",i);
n/=i;
}
i=2; //这个去掉吧,for循环死循环了
}

I=2 这句先删了