找到越来越大的数字

时间:2016-06-06 08:00:51

标签: c++ c++11

我正在尝试找到一个越来越大的数字,但是在最后一部分出现了问题if(n1 > n2)如果statement给出了任意数字的话,那就不行了?

源代码:

#include"../std_lib_facilities.h"

int main()
{
    int n1=0, n2=0, num;
    cout << "enter two numbers: " << '\n';
    int i = 1;

    while (i < 2)
    { 
        cin >> num;  
        ++i; 
    }
    cout << "the first number is: "<<n1<<'\t'<<"the second number is: "<<n2<<'\n';

    if (n1 < n2)
    { 
         cout << "the smaller number is: " << n1 << '\n';
         cout << "the larger number is: " << n2 << '\n';
    }

    if (n1 > n2)
    {
        cout << "the1 smaller number is: " << n2 << '/n';
        cout << "the larger  number is: " << n1 << '/n';
    }
    else
    {
        cout << "error" << '\n';
    }

    system("pause");

    return 0;
}

3 个答案:

答案 0 :(得分:5)

您没有输入n1和n0,而是输入num

cin >> num; 

删除此部分:

int i = 1;
while (i < 2) { 
    cin >> num;  
    ++i; } 

并替换为此

cin >> n1 >> n2;

您可以输入以空格分隔的两个数字

答案 1 :(得分:3)

您的所有输入都将转到num

抛弃while循环并写入

cin >> n1;
cin >> n2;

代替。还要考虑使用ifelse if块,因为朝向结尾的程序控制流是奇数:

if (n1 < n2) { 
    /*ToDo*/
} else if (n2 > n1){
    /*ToDo*/
} else {
    /*they are equal*/
}

答案 2 :(得分:0)

或者更好的是,在必须获得两个变量的输入后(这实际上是您的问题的解决方案),仍然创建一个检查更大的函数。

功能:

int func_check_greater(int num1, int num2){
    return (num1 > num2) ? num1 : num2;
}