当前位置: 代码迷 >> C语言 >> 一个while循环的小问题
  详细解决方案

一个while循环的小问题

热度:288   发布时间:2006-09-20 21:47:34.0
当num能被k整除
num=num/k
----------------解决方案--------------------------------------------------------
不就是为了加个*号嘛 你自己的程序就可以
程序代码:

#include <stdio.h>
void main()
{
int num,k=2; //质因数从2开始.
printf(\"请输入一个数字:\");
scanf(\"%d\",&num);
while(num!=k)
{
while(num%k!=0)
{ num/=k;
k++;
if(num%k!=0)
printf(\"该数分解后为:%d*\",num);
printf(\"该数分解后为:%d\",num);
}
}printf(\"输入无效信息.\");
}

----------------解决方案--------------------------------------------------------
main()
{int i,n,m;
scanf("%d",&n);
printf("%d=",n);
for(i=2;i<n;)
{if(n%i==0)
{printf("%d*",i);
m=n/i;
n=m;
}
i++;
if(i>=n){printf("%d",n);break;}
}
}

[此贴子已经被作者于2006-9-21 22:55:38编辑过]


----------------解决方案--------------------------------------------------------

#include <stdio.h>
void main()
{
int num,k=2; /* 质因数从2开始. */

scanf("%d",&num);
while(num>=k)
{

if(num%k==0)
{
num/=k;
printf("%d\n",k);
k=1;
}
k++;
}
printf("end");
getch();
}
这里K=1就是让能被num整除的K始终从1开始++.不过这样循环效率不高,还是
楼上的好


----------------解决方案--------------------------------------------------------

被你玩死啦,抄条式也抄不好,点运行哦?上面有很多符号都写错啦,我也想不明你点运行出2*3*3*5?能运行出2335已经不错了,





#include <stdio.h>
void main()
{
int num,k=2,flag=0;
printf("请输入一个数字:");
scanf("%d",&num);
printf("该数分解后为:%d=",num);
while(num!=1)
{
while(num%k==0)
{
num=num/k;
if(flag==1)
{
printf("*");
}
else
{
flag=1;
}
printf("%d",k);
}

k++;
}


getch();
}


----------------解决方案--------------------------------------------------------
  相关解决方案