[求助]题目:将一个正整数分解质因数。
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5我开始用FOR循环来做,但不知道是不是因为在循环过程中需要不断改变限制条件,无法得到完全正确的结果.
所以我就改用WHILE循环来做
#include "math.h"
int sushu(int a)/*判断是否为素数的一个函数*/
{ int b;
if (a=1) return 0 ;
for (b=2;b<=sqrt(a);b++)
{if (a%b==0) return 0;}
return 1;
}
main()
{ int b,c=2,d=0;
scanf("%d",&b);/*输入待处理的数字*/
printf("%d=",b);
while(b!=1)/*循环过程中需不断改变b的值,当被除尽时结束*/
{if (b%c==0&&sushu(c))/*判断是否为质因数*/
{printf ("%d",c);b=b/c;if (b!=1) {printf("*");c=c-1;}}
c=c+1;
}
}
我仔细进行了检查 没发现什么错误 但运行后 输入数据 按回车 显示 divide error
请好心人指点 不胜感激