分解质因数

/*从键盘任意输入一个整数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.注意解释的地方,很容易犯错。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值