#include<stdio.h>
int judge(int n)//判断数字是否为素数
{
int i;
if(n==2)
return 0;
else for(i=2;i<n;i++)
{
if(n%i==0)
break;
}
if(i==n)
return 0;
else return 1;
}
int main()
{
int n,i;
scanf("%d",&n);
printf("%d=",n);
while(judge(n))
{
for(i=2;i<n;i++)
{
if(n%i==0)
{printf("%d*",i);
n/=i;
break;
}
}
}
printf("%d",n);
return 0;
}
#include<stdio.h>
int judge(int n)
{
int i;
if(n==2)
return 0;
else for(i=2;i<n;i++)
{
if(n%i==0)
break;
}
if(i==n)
return 0;
else return 1;
}
int main()
{
int n,i;
scanf("%d",&n);
printf("%d=",n);
while(judge(n))
{
for(i=2;i<n;i++)
{
if(n%i==0)
{printf("%d*",i);
n/=i;
break;
}
}
printf("%d",n);
}
return 0;
}
麻烦问下为什么printf写在循环里面两个3输出值为随机值,但是写在外面就可以正常输出?
十分感谢!