使用IF语句比较两个整数

时间:2017-10-17 15:40:08

标签: c++ if-statement min

您好我尝试使用if语句解决练习题,找到两个整数之间的最小值。说明是

  1. 声明要存储最小值的变量(例如' min')
  2. 声明两个变量,要求用户输入两个整数并将它们保存到那些变量中
  3. 假设第一个整数是最小值并将其保存到步骤1中声明的“min”变量
  4. 写一个if语句,比较这两个值,并更新step1中的变量(如果你正确地做了,那么就不会有任何其他'
  5. 这是我的代码

    #include <iostream>
    using namespace std;
    
    int main ()
    {
    int mins,a,b;
    cout << "Enter two integers: ";
    cin >> a >> b;
    mins = a;
    if (a<b)
        {
        cout << "The minimum of the two is " << mins;
        }
    else
    
    return 0;
    

    如果第一个整数高于第二个整数,程序会跳到最后,我的问题是它没有更新“mins”#。提前谢谢

4 个答案:

答案 0 :(得分:1)

您的程序逻辑错误。你想要这个:

int main()
{
  int mins, a, b;
  cout << "Enter two integers: ";
  cin >> a >> b;

  if (a < b)
    mins = a;
  else
    mins = b;

  cout << "The minimum of the two is " << mins << endl;

  return 0;
}

现在这仍然不完全正确,因为如果ab相等,则输出不正确。

纠正是留给读者的练习。

答案 1 :(得分:0)

  

编写if语句,比较这两个值并更新   来自step1的变量(如果你这样做,就不会有任何'else'   正确地

我认为您需要的是以下内容。

#include <iostream>
using namespace std;

int main()
{
    int min;                   // Step 1
    int a, b;                  // Step 2

    cout << "Enter two integers: ";

    cin >> a >> b;

    min = a;                   // Step 3
    if ( b < a ) min = b;      // Step 4

    cout << "The minimum of the two is " << min << endl;

    return 0;
}

程序输出可能看起来像

Enter two integers: 3 2
The minimum of the two is 2

因此,在答案中提供的代码中,只有我的代码才能正确执行。:)

答案 2 :(得分:0)

这是错误的

mins = a;
if (a<b)
{
cout << "The minimum of the two is " << mins;
}
else

应该是。

if (a < b){
  mins = a;
}
else{
  mins = b;
}
cout << "The minimum of the two is " << mins;

答案 3 :(得分:0)

你可以使用shortland if / else:

#include <iostream>
#include <algorithm>

int main() {
    int a, b;
    std::cout << "Enter a and b: ";
    std::cin >> a >> b;
    int min = (a>b) ? b : a;
    std::cout << "The min element is: " << min;
}