c语言中将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 我编写的程序错在哪里???

2024-11-21 17:18:42
推荐回答(1个)
回答1:

void main()
{
int a,b,i;
scanf("%d",&a);
for(i=1;a!=1;i++)//你的a==1条件根本就没进循环
for(b=2;b<=a;b++)
{if(a%b==0)
{
a=a/b;
printf("%d*",b);
break;//你的break,没被包在if里面导致每次都会break,也就算是说b的值一直都是2
}
}
printf("\n");

修改之后输入90 Enter
printf信息是
2*3*3*5*