/*从键盘任意输入一个整数m,若m是素数,则对m进行质因数分解,并将m以质因数从小到排列大顺序的乘积形式
输出,否则结束 输出,例如,用户输入90时,程序输出90=2*3*3*5。*/
#include"stdio.h"
int main()
{
int m,i;
printf("请用户从键盘任意输入一个整数m :\n");
scanf("%d",&m);
for(i=2;i<=m;i++) //最小的质数为2,所以i的初值为2,不能是1。
{
while(m!=i)
{
if(m%i==0)
{
printf("%d*",i); //不能写成printf("m=%d*",i);因为进入循环后,m的值在不断地改变。
m/=i;
}
else
break;
}
}
printf("%d\n",m); //该输出不能放到for()语句中,否则会造成满屏输出的情况。
return 0;
}
运行结果:
知识点:
for()语句与while()语句的嵌套运用。
心得体会:
1.for()语句与while()语句都是先判断条件是否成立,再决定要不要执行循环体。
2.注意解释的地方,很容易犯错。