在C++输入的时候,经常需要判断输入的值是否正确。
代码
#include<iostream>
int fun_min(const int &a,const int &b);
int fun_max(const int &a,const int &b,const int &min);
int main()
{
using namespace std;
int a,b,min,max;
cout<<"请输入第一个整数:"<<endl;
while(!(cin>>a)||a<1)
{
cin.clear();
if(cin.get()!='\n')
continue;
}
cout<<"请输入第二个整数:"<<endl;
while(!(cin>>b)||b<1)
{
cin.clear();
if(cin.get()!='\n')
continue;
}
min=fun_min(a,b);
max=fun_max(a,b,min);
cout<<"最大公约数:"<<min<<endl
<<"最小公倍数:"<<max<<endl;
return 0;
}
int fun_min(const int &a,const int &b)
{
int temp,min;
if(b>a)
temp=a;
else
temp=b;
for(min=temp;min>0;min--)
if( (a%min==0) && (b%min==0) )
return min;
}
int fun_max(const int &a,const int &b,const int &min)
{
int max=a/min*b;
return max;
}
主要代码:
while(!(cin>>a)||a<1)
{
cin.clear();
if(cin.get()!='\n')
continue;
}
小小的解释下:这里就是当输出不成功或者没有输入并且输入的值小于1的时候执行while中的代码,进行重新输入
Over!