乐趣区

第七章第五题打印不同的教Print-distinct-numbers-编程练习题答案

编写一个程序,读人 10 个数并且显示互不相同的数(即一个数出现多次,但仅显示一次)。(提示,读人一个数,如果它是一个新数,则将它存储在数组中。如果该数已经在数组中,则忽略它。)输入之后,数组包含的都是不同的数。下面是这个程序的运行示例:

Write a program that reads in ten numbers and displays
the number of distinct numbers and the distinct numbers separated by exactly one
space (i.e., if a number appears multiple times, it is displayed only once). (Hint:
Read a number and store it to an array if it is new. If the number is already in the
array, ignore it.) After the input, the array contains the distinct numbers.

下面是参考答案代码:

// https://cn.fankuiba.com
import java.util.Arrays;
import java.util.Scanner;

public class Ans7_5_page236 {public static void main(String[] args) {Scanner input = new Scanner(System.in);
        System.out.print("Enter ten numbers:");
        int[] numberList = new int[10];
        // int[] distinctList = {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
        int[] distinctList = new int[10];
        Arrays.fill(distinctList,-1);

        for (int i = 0; i < 10; i++)
            numberList[i] = input.nextInt();

        for (int i = 0; i < 10; i++) {for (int j = 0; j < 10;j++) {if (i == numberList[j])
                    distinctList[i] = numberList[j];
            }
        }

        int count = 0;
        for (int i = 0; i < 10; i++) {if (distinctList[i] != -1)
                count++;
        }
        System.out.print("The number of distinct number is" + count+
                "\nThe distinct numbers are:");

        for (int i = 0; i < 10; i++) {if (distinctList[i] != -1) {System.out.print(distinctList[i] + " ");
            }
        }
    }
}

适用 Java 语言程序设计与数据结构(基础篇)(原书第 11 版)Java 语言程序设计(基础篇)(原书第 10/11 版)

发布在博客:(https://cn.fankuiba.com)

退出移动版