求大虾解决C语言循环结构的问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 08:30:32
输入一个数,把他分解成质因数;例 90=2*3*3*5

//输入一个数,把他分解成质因数;例 90=2*3*3*5
#include <stdio.h>
void main()
{
int flag,zhishu[100],k=0,input,temp;
for (int i=2;i<=100;i++)
{
flag=0;
for (int j=2;j<=i/2;j++)
{
if (!(i %j) )
{
flag=1;
break;
}
}
if (flag==0)
{
zhishu[k]=i;
k++;
}
}

scanf("%d",&input);
i=0;
printf("%d=",input);

while((input!=1)&&(i<=k))
{
temp=input;
if(temp%zhishu[i]==0)
{
input/=zhishu[i];
printf("%d*",zhishu[i]);
}
else
{
i++;
}
}
printf("\n");
}

----------------------------
VC6调试通过
运行结果:

100=2*2*5*5

这个好像要把全部的质因数相结合的情况都由程序自己动列出吧

写不想写了 反正大体思路是用递归,最后余数为1就停止递归。

大概写下算法吧
void shuangfa(int n,int h)//N为你要分解的数 h为