首页 > 其他分享 >C语言---试计算在区间1 到n 的所有整数中,数字x(0 ≤ x ≤ 9)共出现了多少次?

C语言---试计算在区间1 到n 的所有整数中,数字x(0 ≤ x ≤ 9)共出现了多少次?

时间:2024-05-24 19:57:11浏览次数:10  
标签:count int scanf 整数 C语言 --- main

#include <stdio.h>

int main()
{
    int n,x;
    scanf("%d %d",&n,&x);
    int count =0;
    for(int i = 1;i<=n;i++)
    {
        int m =i;//从1开始计算
        while(m)//循环运行的条件
        {
            if(m%10==x)    //如果m除以10的余数是x的话,那么count就++       
                count++;
            m=m/10;        //再次定义m的值
        }
    }
    printf("%d\n",count);

    return 0;
}
//m /= 10; 表示将变量 m 除以 10 并将结果重新赋值给 m。这种操作在循环中用于逐步移除 m 的最低位数字,从而逐位检查 m 中的每个数字。
//假设 i 的值为 123,那么在第一次迭代中 m 也将是 123。循环开始时:
/*1.检查 m % 10,得到 3。如果这个数字等于 x,则 count 加一。
2.然后执行 m /= 10,此时 m 的值变为 12(即去掉了最低位的 3)

在下一次循环迭代中:
1.再次检查 m % 10,得到 2。重复判断过程
2.执行 m /= 10,现在 m 的值变为 1。

在第三次循环迭代中:
1.检查 m % 10,得到 1。再次进行判断
2.执行 m /= 10,此时 m 的值变为 0,因为 1 除以 10 等于 0。



当 m 变为 0 时,while 循环的条件不再满足,循环结束。这样,通过逐步除以 10,代码能够检查 i 的每一位数字,并对等于 x 的数字进行计数。

使用 m /= 10 而不是 m = m / 10 的好处是,/= 操作符直接对整数进行除法操作并更新 m 的值,避免了进行浮点数除法然后再进行类型转换的需要。*/

标签:count,int,scanf,整数,C语言,---,main
From: https://blog.csdn.net/2301_80863610/article/details/139183362

相关文章

  • 小程序-修改用户头像
    1、调用拍照/选择图片//修改头像constonAvatarChange=()=>{ //调用拍照/选择图片 uni.chooseMedia({  //文件个数  count:1,  //文件类型  mediaType:['image'],  success:(res)=>{   console.log(res)    ......
  • 小程序-收货地址管理模块实现
    页面结构代码:address-form.vue  --->新建地址和修改地址页面<template><viewclass="content"><form><!--表单内容--><viewclass="form-item"><textclass="label">收货人</text>......
  • Mybatis-plus核心功能-自定义SQL
    MyBatis-Plus提供了强大的条件构造器。通过条件构造器可以写一些复杂的SQL语句,从而提高我们的开发效率。通过EntityWrapper(简称EW,MP封装的一个查询条件构造器)或者Condition(与EW类似)来让用户自由的构建查询条件,简单便捷,没有额外的负担,能够有效提高开发效率,它主要用于处理......
  • Linux-Nginx安装及启动命令
    目录1、安装依赖2、nginx安装3、防火墙打开80端口4、nginx启动停止1、安装依赖yum-yinstallgcc-c++ yum-yinstallpcrepcre-devel yum-yinstallzlibzlib-devel yum-yinstallopensslopenssl—devel2、nginx安装mkdir/usr/local/src/nginxcd......
  • UES-08-迭代器和生成器
    循环问题在一般循环结构中,如果需要跟踪多个变量,情况将变得复杂,容易出错。迭代器用于迭代对象的对象,一般提供next()方法用于迭代对象中的元素,该方法返回两个变量,value表示返回的值,done表示是否还存在没有遍历的元素。functioncreate(items){vari=0;return{......
  • awesome-ai4s 现已开源!超全 AI for Science 学术论文与数据资源汇总,持续更新ing
    2018年中国科学院院士鄂维南提出「AIforScience」概念,强调利用AI学习科学原理、创造科学模型来解决实际问题。同年,AlphaFold崭露头角,从43种蛋白质中准确预测出了25种蛋白质结构。2021年,AlphaFold2开源并预测了98.5%的人类蛋白质结构,也是这一年,AI4S真正地走......
  • 爆火AI美女跳舞制作全流程-SD插件Ebsynth_Utility(附带所有工具包)
    1.基础介绍AIGC|ChatGPT行业介绍1.1SD简介StableDiffusionXL能够生成几乎任何艺术风格的高质量图像,是用来生成写实图像的最佳开放模型。StableDiffusion是一个可以和MJ相媲美的AI出图工具,简称SD它是一个开源的、免费的项目,没有公司在经营,如果你想用,是需要安装到自......
  • 1-数组-11-二分查找-LeetCode704
    1-数组-11-二分查找-LeetCode704参考:代码随想录LeetCode:题目序号35更多内容欢迎关注我(持续更新中,欢迎Star✨)Github:CodeZeng1998/Java-Developer-Work-Note技术公众号:CodeZeng1998(纯纯技术文)生活公众号:好锅(Lifeismorethancode)博客园:CodeZeng1998其他平台:CodeZeng19......
  • mx 五月 csp-j
    T1考虑只有第二种操作。显然可以维护\(a_i\)代表当前序列的第\(i\)个数是什么。观察到变换只和\(k\%3\)的值有关。对于第一种操作,显然可以令\(k\leftarrowk\%n\)。观察到这种变换将整个序列视为一个环更方便一点,于是维护变换后第一个数的下标是多少。输出时按照环的......
  • 企业信使-网页版短信平台
    在当今数字化时代,企业与客户之间的沟通变得至关重要。而企业信使-网页版短信平台,作为一种高效、便捷的沟通工具,正逐渐成为市场推广中不可或缺的一环。1.什么是企业信使-网页版短信平台?企业信使-网页版短信平台是一种基于网络的信息传输工具,通过该平台,企业可以方便快捷地向目......