帮忙写改下程序

来源:百度知道 编辑:UC知道 时间:2024/06/26 05:42:40
求出一个给定整数的所有因子,并按以下方式输出:72=2*2*2*2*3*3
#include<iostream.h>
void main()

{
int a;
int t = 1; // t 初始化为 1,用来判断
cout<<"请输入一个整数: ";
cin>>a;
cout<<a<<"=";

for (int b = 2 ;b <= a; ++b)
{
if(a%b==0)
{
a/=b;
if( 1 == t )
{
cout<<b; t++;
}
else
cout<<"*"<<b;

b=1; // 再一次从2开始循环
}
}
cout<<"\n";
}

我这段程序如果输入1就会显示1= 然后没其他东西了
输入了就是0=
帮我修改下,使得输入小于2的数显示无解

#include<iostream.h>
void main()

{
int a;
int t = 1; // t 初始化为 1,用来判断
cout<<"请输入一个整数: ";
cin>>a;
if(a<=2)cout<<"无解"<<endl; //加个if else 语句
else
cout<<a<<"=";

for (int b = 2 ;b <= a; ++b)
{
if(a%b==0)
{
a/=b;
if( 1 == t )
{
cout<<b; t++;
}
else
cout<<"*"<<b;

b=1; // 再一次从2开始循环
}
}
cout<<"\n";
}

加一个检查就可以了
#include<iostream.h>
#include <stdlib.h>;

void main()

{
int a;
int t = 1; // t 初始化为 1,用来判断
cout<<"请输入一个整数: ";
cin>>a;

//这里加一个检查就可以了
if (a < 2)
{
cout << "无解" << "\n";
exit(1);
}
cout<<a