蓝桥杯2020 C语言B组 1题 门牌制作

题目描述
小蓝要为一条街的住户制作门牌号。这条街一共有2020位住户,门牌号从1到2020编号。小蓝制作门牌的方法是先制作0到9这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌1017需要依次粘贴字符1、0、1、7,即需要1个字符0,2个字符1,1个字符7。请问要制作所有的1到2020号门牌,总共需要多少个字符2?
题目分析
暴力搜索,判断每个位置的字符是否满足条件
题目代码答案:624

#include 

int main()
{
    int x, i, m, sum = 0;
    int a[11] = {0};           //辅助数组存放每个数字的次数
    for(i = 1; i <= 2020; i++)
    {
        m = i;
        while(m > 0)
        {
            a[m%10]++;         //出现时下标是那个数的元素自增一
            m /= 10;
        }
    }
    printf("%d",a[2]);         //输出下标是2
}

你可能感兴趣的:(蓝桥杯传智杯练习,c语言,开发语言,后端)