不知道你的编译器是什么,如果只是输出格式不对,就加一句:
#include"iostream"
using namespace std;
#include<math.h>
void main()
{
int x,i;
cout<<"输入整数:";
cin>>x;
cout<<x<<"=";//修改
while(x>=1)
{
int j=(int)sqrt((float)x);//修改
for(i=2;i<=j;i++){
if(x%i==0){
cout<<i<<"*";
x=x/i;break;
}
}
if(i>j){
cout<<x;break;
}
}
cout<<endl;
}
#include"iostream"
using namespace std;
#include<math.h>
void main()
{
int x,i;
cout<<"输入整数: ";
cin>>x;
while(x>=1)
{
int j=(int)sqrt((float)x);//修改
for(i=2;i<=j;i++){
if(x%i==0){
cout<<i<<"*";
x=x/i;break;
}
}
if(i>j){
cout<<x;break;
}
}
cout<<endl;
}
以后贴代码,不要贴图
看不清你的程序
参考:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int n,i;
//scanf("%d",&n);
n=126;
printf("%d=",n);
while(n%2==0){
printf("%d*",2);
n/=2;
}
for(i=3;i<=sqrt(n);i+=2)
{
if(n%i==0)
{
n/=i;
printf("%d*",i);
i-=2;
}
}
printf("%d\n",n);
return 0;
}
http://codepad.org/u3PLBkSg
在线测试
126=2*3*3*7
#include
int main()
{
int n, i;
printf("输入一个整数:");
scanf("%d", &n);
printf("%d=",n);
for(i=2;i<=n;i++)
{
while(n%i==0)
{
n=n/i;
if(n!=1)
{
printf("%d*",i);
}
else
{
printf("%d",i);
}
}
}
printf("\n");
return 0;
}