寻找嵌套循环中的最小和最大数字

huangapple go评论95阅读模式
英文:

Finding the lowest and largest number in a nested loop

问题

  1. int smallest = 0;
  2. int largest = 0;
  3. int num;
  4. for (int row = 1; row <= 5; row++) {
  5. System.out.println();
  6. System.out.println("学生 #" + row + " 的成绩:");
  7. num = (int)(Math.random() * 50) + 50;
  8. double total = 0;
  9. smallest = num;
  10. for (int col = 0; col < 10; col++) {
  11. num = (int)(Math.random() * 50) + 50;
  12. System.out.print(num + ", ");
  13. total += num * 1.0;
  14. }
  15. System.out.println();
  16. double average = total / 10;
  17. System.out.println("学生的平均成绩为:" + average);
  18. if (num > largest) {
  19. largest = num;
  20. }
  21. if (num < smallest) {
  22. smallest = num;
  23. }
  24. }
  25. System.out.println("最高分数为:" + largest);
  26. System.out.println("最低分数为:" + smallest);
英文:
  1. int smallest = 0;
  2. int largest = 0;
  3. int num;
  4. for (int row=1; row&lt;=5; row++)
  5. {
  6. System.out.println();
  7. System.out.println(&quot;Grades for student #&quot; + row);
  8. num = (int)(Math.random()*50)+50;
  9. double total = 0;
  10. smallest = num;
  11. for (int col = 0; col&lt;10; col++)
  12. {
  13. num = (int)(Math.random()*50)+50;
  14. System.out.print(num+ &quot;, &quot;);
  15. total += num*1.0;
  16. }
  17. System.out.println();
  18. double average = total/10;
  19. System.out.println(&quot;Average for student is &quot; +
  20. average);
  21. if (num &gt; largest) {
  22. largest = num;
  23. }
  24. if (num &lt; smallest) {
  25. smallest = num;
  26. }
  27. }
  28. System.out.println(&quot;The largest score is:&quot; + largest);
  29. System.out.println(&quot;The smallest score is : &quot; +
  30. smallest);

Trying to figure print out the lowest and largest score for random numbers generated in a loop for 5 students. The code is printing out the wrong number for lowest score.

答案1

得分: 2

最小和最大数都被初始化为0。它们应该用第一个值进行初始化。

英文:

The smallest and largest number are initialized with 0. They should be initialized with the first value instead.

答案2

得分: 0

你应该将这部分放在嵌套循环内部。

  1. if (num > largest) {
  2. largest = num;
  3. }
  4. if (num < smallest) {
  5. smallest = num;
  6. }

否则它们只会比较每行最后一列的 num

英文:

You should put this part inside the nested loop.

  1. if (num &gt; largest) {
  2. largest = num;
  3. }
  4. if (num &lt; smallest) {
  5. smallest = num;
  6. }

Otherwise they are only comparing num of the last column of each row.

答案3

得分: 0

以下是从循环中查找最大值和最小值的代码片段。您可以根据您的要求进行调整。

  1. int minMax = 0;
  2. int smallest = 0;
  3. int largest = 0;
  4. for (int i = 1; i <= totalNumbers; i++) {
  5. System.out.print("数字 " + i + ": ");
  6. int inputNumbers = console.nextInt();
  7. if (inputNumbers > largest) {
  8. largest = inputNumbers;
  9. } else if (inputNumbers < smallest) {
  10. smallest = inputNumbers;
  11. }
  12. }
  13. System.out.println();
  14. System.out.println("最小值 = " + smallest);
  15. System.out.println("最大值 = " + largest);
英文:

below is a code snippet of finding the largest and smallest value from a loop.you may adjust it with your requirement.

  1. int minMax = 0;
  2. int smallest = 0;
  3. int largest = 0;
  4. for(int i = 1; i &lt;= totalNumbers; i++){
  5. System.out.print(&quot;Number &quot; + i + &quot;: &quot;);
  6. int inputNumbers = console.nextInt();
  7. if(inputNumbers &gt; largest){
  8. largest = inputNumbers;
  9. } else if (inputNumbers &lt; smallest){
  10. smallest = inputNumbers;
  11. }
  12. }
  13. System.out.println();
  14. System.out.println(&quot;Smallest = &quot; + smallest);
  15. System.out.println(&quot;Largest = &quot; + largest);

huangapple
  • 本文由 发表于 2020年10月21日 09:46:07
  • 转载请务必保留本文链接:https://go.coder-hub.com/64455521.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定