【问题标题】:How to print largest number from User Input如何从用户输入中打印最大数字
【发布时间】:2015-07-11 20:12:39
【问题描述】:

我要让用户输入他想输入多少个浮点数。输入浮点数后,我会收到一条消息,上面写着“您输入的最大数字是某某”。

如何识别用户输入的最大数字。

#include <stdio.h>
#include <iostream>
#include <iomanip>

using namespace std; 

int main()
{
    float count; 
    float input; 
    float large; 

    cout << "Enter the number of floating numbers you wish to input: ";
    scanf("%f", &count); 

    do
    {
        cin >> input; 
        count--; 

    }
    while(0 < count); 

    return 0;

}

【问题讨论】:

  • 您的讲师没有介绍过if 语句和比较运算符的基础知识吗?
  • 他确实涵盖了 if 语句。我已经尝试了它的多种变体,但我不确定是在 do-while 循环内还是在 do while 循环外包含 if 语句。我尝试使变量最大,以便可以输入最大=输入;但是每次用户输入他们的浮点数时,这都会被覆盖。这基本上不是我想要完成的目标
  • 这不是编码服务,除非您自己动手,否则您不会学习。相反,您需要尝试一些事情,解释您期望它应该做什么,解释它如何没有按照您的预期做,并提出一个特定问题来解决该特定问题。
  • if 输入的值大于maxmax 设置为该值(在循环内)
  • 版主说明:正如 @deviantfan 所指出的 - 请停止删除您问题的内容 - 它会使答案无效,对未来的访问者或已花费的人不公平他们的时间回答。谢谢。

标签: c++ input add


【解决方案1】:

这种方法又快又干净,基本上是按指定的次数读入数值,每次大于当前最大值时,用读取的数值代替max。

    int main()
    {
        int num_entries;
        float num;
        float max = 0;
        cin >> num_entries;
        while (num_entries-- > 0){
            cin >> num;
            if (num > max) {
                max = num;
            }
        }
    }

【讨论】:

  • 这帮助很大。谢谢杰克瑞恩!我最终保持了我写它的方式,但我意识到如何通过你在代码中编写最大值的方式来解决我的问题。谢谢!
  • 没问题,如果您的问题得到解决,请随时接受答案!
  • 我实际上刚刚意识到,如果您的所有输入数字均为负数,此解决方案可能不起作用,您可以尝试将 max 初始化为最小浮点值。
【解决方案2】:

这里是“for”循环的例子

int main()
{
    int conut = 0;
    float number = 0;
    float max_number = 0;

    for (int i = 0; i != count; ++i)
    {
         cin >> number; // the user input
         if (number > max_number) max_number = number; // if input is  highter than actuall the highest number then max_number = number
    }

    std::cout << "max_number = " << max_number;
}

【讨论】:

    【解决方案3】:
    int input1;
        List<Integer> mylist = new ArrayList<>();
        while (true){
            input1 =sc.nextInt();
            if (input1!=0){
                mylist.add(input1);
            }  else{
                break;
            }
        }
        System.out.println(mylist);
        int max = mylist.get(0);
        for (int i = 0; i <mylist.size() ; i++) {
            if (mylist.get(i)>max){
                max = mylist.get(i);
            }
        }
        System.out.println(max + " Is the maximum number");
    

    【讨论】:

      猜你喜欢
      • 2018-03-08
      • 2023-01-22
      • 2018-07-08
      • 2020-12-09
      • 2021-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-25
      相关资源
      最近更新 更多