将一个正数分解因数,例如:输出90=2*3*3*5

来源:百度知道 编辑:UC知道 时间:2024/06/21 08:52:02
可以用 if,while,for还可以嵌套的,不能用数组我还没学。谢谢啦各位
第一个输出的不对啊

printf("Put the number:\n");
scanf("%d",&n);
printf("%d=1",n);
for(i=2;i++,i<=n)
if(n%i==0)
{printf("*%d",i);
n=n/i;}

#include<stdio.h>
void main()
{
int n,i,t;
printf("input n:");
scanf("%d",&n);
printf("%d=",n);
t=n/2;
for(i=2;i<t;i++)
if(n%i==0)
{
printf("%d",i);
n=n/i;
}
for(;i<t;i++)
while(n%i==0)
{
printf("*%d",i);
n=n/i;
}
if(n==t*2)
printf("1*%d",n);/*即没有1和n以外的因数*/
}

就是把那个数从1除到9么.然后再除么.用if语句就行.取余数输出就可以了.呵呵.应该可以看的懂吧