您的位置:首页 > 科技 > 能源 > 北京微网站建设设计服务_中天建设集团有限公司简介_网站排名seo_seo视频教程我要自学网

北京微网站建设设计服务_中天建设集团有限公司简介_网站排名seo_seo视频教程我要自学网

2025/10/7 13:53:47 来源:https://blog.csdn.net/Cao123456789321/article/details/147163345  浏览:    关键词:北京微网站建设设计服务_中天建设集团有限公司简介_网站排名seo_seo视频教程我要自学网
北京微网站建设设计服务_中天建设集团有限公司简介_网站排名seo_seo视频教程我要自学网

问题:

这条街一共有 2020 位住户,门牌号从 1 到 2020 编号。 小蓝制作门牌的方法是先制作 0 到9 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1 个字符 0,2 个字符 1,1 个字符 7。请问要制作所有的 1 到 2020 号门牌,总共需要多少个字符?

要解决这个问题,我们需要统计从1到2020的所有门牌号中数字字符2出现的总次数。可以通过遍历每个门牌号,分解其每一位数字并检查是否为2来实现。

方法思路

  1. 遍历每个门牌号:从1到2020逐个处理每个门牌号。

  2. 分解每一位数字:对于每个门牌号,通过取余和整除操作分解其每一位数字。

  3. 统计数字2的出现次数:检查每一位数字是否为2,如果是,则计数器加1。

#include <stdio.h>int main() {int count = 0;for (int i = 1; i <= 2020; i++) {int num = i;while (num > 0) {int digit = num % 10;if (digit == 2) {count++;}num /= 10;}}printf("%d\n", count);return 0;
}

代码解释

  1. 初始化计数器count变量初始化为0,用于累计数字2的出现次数。

  2. 遍历门牌号:使用for循环从1遍历到2020。

  3. 分解数字:对于每个门牌号i,使用while循环分解其每一位数字。通过取余操作num % 10获取当前位的数字,然后通过整除操作num /= 10处理下一位。

  4. 检查是否为2:如果当前位的数字是2,则计数器count加1。

  5. 输出结果:循环结束后,打印计数器的值,即数字2的总出现次数。

 

 

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com