“目前为止最大或最小的数字”c ++

时间:2018-04-21 20:12:16

标签: c++

我正在尝试创建一个从用户读取数字的程序,然后告诉用户目前是否是最大的数字。我尝试了几个想法,但没有一个有效(程序运行但不是正确的方法)。非常感谢任何帮助!这是我的代码到目前为止的样子:

int main()
{
    double num1 =0,num2=0;
    cout<<"Please enter a number: \n";


    while (cin>>num1){
        cout<<num1<<" is the greatest number so far\n";

        cout<<" Enter a new number: \n";
        cin>>num2;
        if(num2>num1)
            cout<<num2<<" is the greatest number so far. \n";
        else
            cout<<num1<<" is still the greatest number.\n";
    }

3 个答案:

答案 0 :(得分:1)

每次循环都会读两个数字。一个在while (cin >> num1)中,然后又在cin >> num2中。在打印要求输入新号码的消息后,每次只能读取一个号码。

在您将其与任何内容进行比较之前,您还打印了一条消息,指出num1在循环顶部是最好的。我认为这只是为了输入的第一个数字,所以它应该在循环之外。

当新数字大于目前为止的最大数字时,您需要取代该数字。

学会使用有意义的变量名。很难记住num1num2之间的区别 - greatestnext这样的名称可以明确其目的。

int main()
{
    double greatest, next;
    cout<<"Please enter a number: \n";
    cin >> greatest;
    cout<< greatest << " is the greatest number so far\n";

    while (true){
        cout<<" Enter a new number: \n";
        cin>>next;
        if(next > greatest) {
            cout << next << " is the greatest number so far. \n";
            greatest = next;
        } else {
            cout << greatest << " is still the greatest number.\n";
        }
    }
}

答案 1 :(得分:0)

必须存储最大数量。

int main()
{
    double num1 =0,num2=0;
    cout<<"Please enter a number: \n";


    while (cin>>num1){
        cout<<num1<<" is the greatest number so far\n";

        cout<<" Enter a new number: \n";
        cin>>num2;
        if(num2>num1) {
            num1 = num2;
            cout<<num2<<" is the greatest number so far. \n";
        }
        else
            cout<<num1<<" is still the greatest number.\n";
    }
}

答案 2 :(得分:-1)

为值使用变量,到目前为止使用最大的变量。循环可以简化:

int main()
{
    double num = 0, greatest = 0;

    while(cout << "Please enter a number: \n", cin >> num){
        if(num > greatest) {
            greatest = num;
            cout << num << " is the greatest number so far\n";
        }
        else
            cout << greatest << " is still the greatest number.\n";
    }
}