答案不标准也未必最佳,仅供参考
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void zhi(long z)
{
int i;
if(z<=1)
{
printf("无法分解质因数输出,请输入合适的值!/n");
return;
}
long m=sqrt(z);
for(i=2 ; i<=m ; )
{
if(z%i==0)//整除
{
printf("%d",i);
if(z!=i)
{
printf("X");
}
z/=i;
continue ;
}
i++;
}
if(z!=1)
{
printf("%ld",z);
}
printf("/n");
}
void main()
{
long z;
while(1)
{
printf("请输入一个自然数:/n");
scanf("%ld",&z);
zhi(z);
}
}
完整内容所在目录:http://www.mythroad.net/tag/q_written_examination_and_interview_code_title/