比较两个数字,如果差异高于/低于' x',做一些事情

时间:2016-10-13 15:15:50

标签: c++ if-statement

我想知道是否可以编写一个包含两个数字的代码,当第二个数字是' x'高于/低于第一个数字做某事。我写了一个示例代码,以使其更清晰。感谢帮助,谢谢!

int main() 
{

int first = 0;
int second = 0;

cin >> first;
cin >> second;

if (second = 0.5 > first) //I assumed it would look close to this. This obv isnt working but I cant figure out the correct way.  
{
    cout << "Too big\n";
}
else if (second = 0.5 < first)
{
    cout << "Too low\n";
}
else {
    cout << "Calculation will be made\n";
}

return 0;
}

因此,在此示例中,当第二个数字介于0.5的范围与第一个数字之间时,代码将继续。

4 个答案:

答案 0 :(得分:3)

如果您希望金额检查一定金额,请将您的条件更改为:

if (second - first > 0.5)
{
    cout << "Too Big!\n";
}
else if (second - first < 0.5)
{
    cout << "Too low\n";
}

这将检查2个nunbers之间的差异是否符合您想要的标准。此外,将您的数字类型更改为double,因为当前截断将比较错误的数字。例如,在使用变量检查值时,请尝试以下操作:

int main()
{

    double first = 0;
    double second = 0;
    double x = 0;
    cin >> first;
    cin >> second;
    cin >> x;
    if (second - first > x) {
        cout << "Too Big!\n";
    }
    else if (second - first < x) {
        cout << "Too low\n";
    }
    else {
        cout << "Calculation will be made\n";
    }

    return 0;
}

答案 1 :(得分:0)

绝对有可能。问题是你想做什么。是

if(second > first + x) {
  cout << "second x or more than x bigger than first" << endl;
} else if(second + x < first) {
  cout << "second x or more smaller than first" << endl;
} else {
  cout << "second - x > first > second + x" << endl;
}
你喜欢什么? 当然第二个,第一个和x应该具有相同的数据类型;你不应该不小心混合int和double。

答案 2 :(得分:0)

我不确定你的问题,但我认为你的意思是:

int main() {
int first;
int second;

cin>>first;
cin>>second;

if (second >first + 0.5) {

} 

如果你想要第二个比第一个大至少0.5。 如果不是,请重新提出您的问题

答案 3 :(得分:0)

使用三元运算符:

int main() 
{

double first;
double second;

cin >> first;
cin >> second;

(second - first > 0.5) ? cout << "Too Big!\n" : ( (second - first < 0.5) ? cout << "Too low\n" : cout << "Calculation will be made\n"; );

}

格式为: &LT;条件&gt; ? &LT;真实案例代码&gt; :&lt; false-case-code&gt ;;