#include
using namespace std;
int main() {
bool factor(int n,int &a, int &b);
int number, a, b;
cout << "please input a number:";
cin >> number;
bool error = factor(number, a, b);
if (error)
cout << "error!" << endl;
else
{
cout << "the number is:"<<number << endl;
cout << "a=" << a << endl;
cout << "b=" << b << endl;
}
}
bool factor(int n, int &a, int &b) {
if (a > 20 || a < 0)
return true;
a = n * n;
b = n * n * n;
return false;
}
细节决定成败
#include
using namespace std;
int main() {
bool factor(int n,int &a, int &b);
int number, a, b;
cout << "please input a number:";
cin >> number;
bool error = factor(number, a, b);
if (error)
cout << "error!" << endl;
else
{
cout << "the number is:"<<number << endl;
cout << "a=" << a << endl;
cout << "b=" << b << endl;
}
}
bool factor(int n, int &a, int &b) {
if (a > 20 && a < 0)
return true;
a = n * n;
b = n * n * n;
return false;
}
因为你函数里之前判断的是a 而不是输入的number,所以不对
#include<iostream>
using namespace std;
int main()
{
bool factor(int n,int &a, int &b);
int number, a=1, b=1;
cout << "please input a number:";
cin >> number;
bool error = factor(number, a, b);
if (error)
cout << "error!" << endl;
else
{
cout << "the number is:"<<number << endl;
cout << "a=" << a << endl;
cout << "b=" << b << endl;
}
}
bool factor(int n, int &a, int &b)
{
if (n > 20 || n < 0)
return true;
a = n * n;
b = n * n * n;
return false;
}