代码 C语言
#include<stdio.h>
int main(){
int num[10] ={0};
for(int i=1;i<=4040;i++){
int i2=i;
while(i2){
num[i2%10]++;
i2/=10;
}
}
for(int j=1;j<10;j++){
printf("%d : %d\n",j,num[j]);
}
}
首先初始化存储数组,再用一个循环遍历所有4040个数字,将每个数字的每一位数拆分,对应的数组加一
while(i2){
num[i2%10]++;
i2/=10;
}
利用这段代码拆分各位数。
将数字与10取余,得出最末一位数,对应数组加一,将数字除以10就可以将最末一位去除,以此类推,取得所有数的每一位的出现次数。
运行结果