统计数字 【循环】【数组】
给定一个自然数 N,统计出所有不超过 N 的正整数中数字 0 到 9 出现的次数,并且依次打印出来每个数字出现的次数(0~9),用空格隔开。
输入
10
输出
1 2 1 1 1 1 1 1 1 1
(解释:在1到 10 中,只有数字 1 在整数 1 和10中重复出现了两次,其他数字都只出现了一次)
样例输入
100
样例输出
11 21 20 20 20 20 20 20 20 20
认真看注释....
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); //输入num int[] arr = new int[10]; //是个数组分别代表 0 1 2 3 4 .....9 for(int i = 1;i<=num;i++) { //i是经过num的所有数 int x = i; //定义临时变量x 装i while (x != 0) { //当x不等于0时 我就循环 --后面有除位数操作。 arr[(x % 10)]++; // 取各个位数累加进数组Arr x /= 10; //每次都除掉一个0 } } String str = ""; for(int i = 0;i<arr.length;i++) { str+=arr[i] + " "; } System.out.print(str.trim()); } }